在WPF中不断绘制大量位图的最佳方法是什么?

5
我被这个非常简单的问题难住了。我正在制作一个基于瓷砖的游戏引擎,需要能够允许用户使用WPF用户界面编辑地图。天真地,我以为我可以简单地不断更新一个好的老式“缓冲”的System.Drawing.Graphics.Bitmap,使用Graphics.FromImage。我会在位图上绘制构成地图的瓷砖,然后将缓冲位图传输到屏幕上。然而,根据我的深入研究,我现在相信这根本不容易。
与其向你详细说明我到目前为止发现的(要么不起作用,要么运行极慢),不如简单地问一下:通过WPF UI高效地连续绘制大量位图的最佳方法是什么?
我会接受像“回到Windows Forms”这样的建议。如果是这样的话,那么我会对WPF感到非常失望!

你能否发布一下你目前用来加载图片的代码? - Tom Dudfield
2个回答

3

WriteableBitmap类是一种高性能的WPF兼容位图,允许直接访问其位。 此MSDN文档页面包含了一个相当详细的使用示例。


0

在处理位图时,使用Freezable可以极大地提高性能,您还可以使用后台线程加载缓冲区以避免界面锁定。

这个教程涵盖了基础知识。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接