2011-02-23 81 views
5

我很难过这个非常简单的问题。我正在制作基于图块的游戏引擎,并且需要允许用户使用WPF用户界面编辑地图。天真地说,我假设我可以简单地使用Graphics.FromImage不断更新一个好的老式“缓冲”System.Drawing.Graphics.Bitmap。我将在位图上绘制组成地图的图块,然后将缓冲区位图移动到屏幕上。然而,从我彻底的研究中,我现在认为这并不容易。在WPF中不断绘制大量位图的最佳方式?

我可以很简单地问一下,为什么不能很好地连续绘制大量的位图,而不是让我知道目前为止我发现的东西(要么不工作,要么非常慢)通过WPF UI?

我会接受“回到Windows窗体”这样的建议。如果是这样的话,那么我会对WPF非常失望!

+0

你可以发布你当前使用的代码来加载图像吗? – 2011-02-23 16:18:30

回答

0

Freezable在处理位图时可以对性能产生很大的影响,然后您可以使用后台线程加载缓冲区来停止UI锁定。

tutorial涵盖了基础知识

3

的WriteableBitmap的类是一个高性能的WPF兼容的位图,允许其位的直接访问。 This MSDN documentation page包含了一个相当彻底的使用它的例子。