【问题标题】:WPF real-time renderingWPF 实时渲染
【发布时间】:2012-05-13 13:07:50
【问题描述】:

我正在设计一款游戏,并考虑使用 WPF 制作基本游戏玩法的简单原型。

是否可以在 WPF 中实时渲染基本的 2d 图形?基本图形是指简单的形状,例如线条、圆形等。“实时”是指根据速度、加速度等参数渲染事物,这些参数会根据玩家输入而变化——我认为这意味着我可以'不要为动画使用故事板。

谢谢

【问题讨论】:

    标签: wpf rendering 2d real-time


    【解决方案1】:

    查看上一个问题High Performance Graphics using the WPF Visual Layer 以获得很好的相关讨论。虽然 WPF 为丰富的矢量图形提供了一个很好的框架,但它在实时 2D 性能方面有些欠缺。

    有一些变通方法,例如,根据您的场景复杂性,您可以使用DrawingVisuals 或虚拟化 Shape 类(WPF 矢量图形)来绘制您的精灵。再低一点,您可以使用 .NET4.0 中可用的BitmapCache 模式缓存精灵,或者将它们预渲染到位图并使用各种optimization patterns 来提高吞吐量。

    再进一步,您可以使用出色的WriteableBitmapEx 项目混合矢量/光栅图形,或使用D3DImage 混合矢量/GPU 图形。

    关于如何更新场景,您需要编写一个原始游戏引擎,在 CompositionTarget.Rendering 事件(在屏幕重绘时触发)您可以获取更新后的参数并计算精灵的位置/方向。可能对此有所帮助的是这个伟大的codeplex project,它集成了 WPF/Silverlight 和 Farseer 物理。

    【讨论】:

      猜你喜欢
      • 2014-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多