使用WPF Visual Layer查看上一个问题High Performance Graphics,以获得良好的相关讨论.虽然WPF为丰富的矢量图形提供了一个很好的框架,但它在某种程度上缺乏实时的2D性能.
例如,根据您使用DrawingVisuals或虚拟化Shape类(WPF矢量图形)绘制精灵的场景复杂性,可以使用变通方法.更低级别,您可以使用.NET4.0中提供的BitmapCache模式缓存精灵,或者将它们预先预先映射到位图并使用各种优化模式来提高吞吐量.
仍然是较低级别,您可以使用奇妙的WriteableBitmapEx项目混合矢量/光栅图形,或使用D3DImage混合矢量/ GPU图形.
关于如何更新场景,您需要编写一个原始游戏引擎,在CompositionTarget.Rendering事件(在重绘屏幕上触发)中,您将获得更新的参数并计算精灵的位置/方向.可能对此有所帮助的是这个伟大的codeplex项目,它集成了WPF/Silverlight和Farseer物理.
| 归档时间: |
|
| 查看次数: |
6830 次 |
| 最近记录: |