2013-07-25 23 views
1

我正在設計一個C#框架,使基於矢量的遊戲使用Cairo。目前,我使用TaoMono.Cairo創建一個繪製到SDL表面的Cairo上下文,然後將該表面繪製到屏幕上。源代碼可用here尋找最快的方式可以繪製開羅上下文使用C#

起初我以爲它工作得很好,渲染了很多速度不錯的東西......但後來我試圖在1080p下全屏運行它,並突然減慢了的方式下降。

我正在閱讀很多內容,並且在某處我看到有人說可能使用OpenGL進行渲染將提高使用SDL進行2D繪製的性能......是這種情況嗎?這會值得嗎?還是有沒有其他選項,我錯過了?

對我來說,在屏幕上繪製幾個圖形會非常困難,特別是看到開羅其他地方看起來真棒的樣子真是太瘋狂了。

回答

1

我不知道開羅的具體情況,尤其是因爲它是單聲道的變體,但是當開發一個看似簡單的引擎來渲染網格集時,使用Helix 3D,一個類似WPF的渲染工具包,陶,我注意到當我渲染我的樣本和小網格時,它運行良好,但是當我嘗試在更大的分辨率下渲染更大的區域時,表現並不理想。

我認爲這一切都歸結爲這些工具包對於日常渲染和小型項目非常完美的事實,但是當您正在尋找開發遊戲或即使在高分辨率下也應該表現良好的應用程序時,優化和調整背後的OpenGL和DirectX是無與倫比的,他們幾乎總是會勝過小魚。

對於我個人而言,當我轉移到使用DirectX時,在渲染與Helix 3D完全相同的一組網格時,我獲得了近乎完美的性能。所以是的,在與更大的框架合作方面有一定的優勢。這可能是值得的。