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

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

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

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

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

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

本教程介绍了基础知识