WriteableBitmap SetValue performance / Texture2D SetData
本文关键字:Texture2D SetData performance SetValue WriteableBitmap | 更新日期: 2023-09-27 18:25:07
我只是想知道是否有人知道(在wp7上的性能)逐像素更新可写位图的最佳方法。。。我可以看到Pixels.SetValue方法,它可以采用一种颜色和一个位置。但一个更快的选择无疑是先设置一个数组,然后一次设置值(数组)。。。像这样的。。。
Int32[] pixels = bmp.Pixels;
for(Int32 y = 479; y > 0; y--)
for (Int32 x = 0; x < 480; x++)
{
pixels[x + (y * 480)] = 0;
}
bmp.Pixels.SetValue(pixels);
但似乎没有这种选择???
在这里,我只是把所有东西都设置为黑色。。。但如果我想做得更多。。。
所以,基本上,我只是在问,逐像素操作/创建位图并获得最佳性能的最佳方法是什么?(想想每一次更新位图)
edit:我刚刚注意到Texture2D.SetData<Int32>(数组)有这个功能,有人能评论一下它的性能吗?或者推荐一种更好的方法?
您可以创建一个位图,为其提供一个字节数组。位图的一个构造函数允许这样做。看看这个和这个。
因此,最好的方法可能是对数组进行操作,并在需要时从中创建位图。当然,要画直线、圆等,最好使用一些绘图功能。