画像も含めることができるビジュアルを作成しています。通常の (透明でない) Png 画像を使用すると (パフォーマンスと印刷の点で) 正常に動作しますが、単一の透明な png を置き換えるとすぐに非常に遅くなり、ビジュアルの印刷に 3 倍以上の時間がかかります。同じように。次のコードを使用しています。
var source = new Uri(filePath, UriKind.RelativeOrAbsolute);
BitmapImage imageBitMap =new BitmapImage(source);
var pictureImage = new Image();
pictureImage.Source = imageBitMap;
grid.Children.Add(pictureImage);
ANTS パフォーマンス プロファイラーを使用しました。統計は次のとおりです。
4 つのグラフィック (非透過) をそれぞれ約 (50 ~ 100 KB) 使用すると、レンダリングにかかる平均時間は各グラフィックで 10 ミリ秒でした。すぐに、そのうちの 1 つを同等の透明グラフィックに置き換えました。平均時間が急上昇し、グラフィックごとに最大 34 ミリ秒になりました。
透明なグラフィックスに時間がかかる理由と、それを減らす方法を教えてください。
Adobe Illustrator と InkSpace も使用して透過的な Png を xaml に変換しようとしましたが、成功しませんでした。Adobe Illustrator プラグインは、png を 1KB の xaml ファイルに変換し、その中にビューボックスを含む空のキャンバスを作成します。InkSpace は画像全体を base64 文字列に変換し、それを Image タグのソースとして設定していますが、ビジュアルにはまったく表示されません。