我正在設計一款遊戲,並考慮使用WPF製作基本遊戲的簡單原型。WPF實時渲染
是否有可能在WPF中實時呈現基本的2d圖形?通過基本的圖形,我的意思是簡單的形狀,如線條,圓形等。「實時」是指根據參數(如速度,加速度等等)根據玩家輸入而變化的東西 - 我假設我可以不使用動畫故事板。
感謝
我正在設計一款遊戲,並考慮使用WPF製作基本遊戲的簡單原型。WPF實時渲染
是否有可能在WPF中實時呈現基本的2d圖形?通過基本的圖形,我的意思是簡單的形狀,如線條,圓形等。「實時」是指根據參數(如速度,加速度等等)根據玩家輸入而變化的東西 - 我假設我可以不使用動畫故事板。
感謝
檢查出良好的相關討論前一個問題High Performance Graphics using the WPF Visual Layer。雖然WPF爲豐富的矢量圖形提供了一個很好的框架,但它對於實時2D性能還是有所欠缺的。
有一些解決方法,例如,取決於您使用DrawingVisuals或虛擬Shape類(WPF矢量圖形)繪製小精靈的場景複雜性。在較低的級別上,您可以使用.NET4.0中提供的BitmapCache模式來緩存子圖,或者將它們預先預渲染到位圖並使用各種optimization patterns來提高吞吐量。
儘管級別較低,但您可以使用fantantastic WriteableBitmapEx項目混合矢量/光柵圖形,或使用D3DImage將Vector/GPU圖形混合使用。
關於如何更新您的場景,您需要編寫一個原始遊戲引擎,在CompositionTarget.Rendering事件(在重繪屏幕時觸發)處獲得更新參數並計算您的精靈位置/方向。一些可能對此有幫助的是這個偉大的codeplex project,它集成了WPF/Silverlight和Farseer物理。