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

时间:2011-02-23 15:37:54

标签: c# .net wpf bitmap

我对这个非常简单的问题感到困惑。我正在制作基于图块的游戏引擎,并且需要能够允许用户使用WPF用户界面编辑地图。天真地,我曾假设我可以使用Graphics.FromImage简单地不断更新一个好的老式“缓冲”System.Drawing.Graphics.Bitmap。我会在位图上绘制构成地图的图块,然后将缓冲区Bitmap blit到屏幕上。但是,根据我的深入研究,我现在相信它并不容易。

我可以非常简单地问一下,通过我迄今为止发现的东西(无论是不起作用还是非常慢),我可以问一下,有效地通过有效连续绘制大量位图的最佳方法是什么? WPF UI?

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

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

tutorial涵盖了基础知识