WPF - 交互式实时渲染(C#)

时间:2017-08-14 12:02:44

标签: wpf mvvm real-time interactive

我目前正在开展一个项目,我希望在重建的小地图上显示游戏数据和我自己的图表。

数据以游戏的刻度形式给出,实体数据在该刻度中更改。首先,我想绘制地图,然后绘制第一个刻度上存在的所有实体。然后,对于每个刻度,我想更新位置并在实体之间绘制线条

我的WPF用户界面是使用MVVM模式设置的。

现在我正在为小地图的创作和技术而奋斗。

我希望小地图支持/创建:

  1. 交互

    • 单击该字段上的实体以显示有关它们的更多信息。
    • 缩放地图
    • 关注实体(放大游戏区域)
    • Toogle不同的视觉效果(禁用一个团队,突出显示......)
    • ...(以及上述其他互动)
  2. 性能

    • 图形看起来应该尽可能平滑(地图,图像,消除锯齿,没有口吃)
    • 高帧率(至少30FPS)
    • 最好它应该是内置大多数上述功能的解决方案(参见1.)
  3. 导出整个游戏的截图和视频(使用我自己的图表和内容)

  4. 我已经考虑过了(来自这篇文章WPF real-time rendering

    • 数据绑定和画布

    问题:速度慢而且性能不高......至少我实施了它 - WriteableBitmap(问题:内置无功能(参见1.)

    • DrawingVisuals

    问题:如何实现MVVM?它有效吗?

    • WriteableBitmap的

    问题:我必须自己构建1.)的功能。但看起来效率很高

    在我开始实施我想要的许多功能之前,我想问一下是否有任何适合我的需求,或者上述任何技术是否适用。

    我希望我的问题足够明确。

    如果遗漏任何内容,请随时告诉我。

1 个答案:

答案 0 :(得分:0)

DataBinding非常适合将视图模型连接到输入控件,但不能实时更新图形对象的状态。

我会选择DrawingVisual,因为它相对轻量级并支持hit testing。即使您没有MVVM支持,也可以轻松更新视觉效果"手动"。