2011-09-01 150 views
4

我正在製作遊戲並考慮使用UI的矢量形狀。我想知道這個最好的渲染器是什麼。我認爲Agg比開羅更快,但是如果開羅可用,開羅可以使用硬件加速。那麼opengl怎麼樣?是一個好主意我使用gl紋理的圖像和線做矩形,圓形rectagles和圓形?或者更好,我在opengl中渲染cairo表面? 我發現的其他選擇是Google Skia和SFML。你怎麼看Skia? SFML也繪製多邊形。我可以使用多邊形制作圓形的形狀。我甚至想過使用SDL或SFML來控制事件。在兩者中,我都可以創建一個OpenGL上下文,並且我已經習慣了他們的角色來控制跨平臺的事件。 我想要一個跨平臺的解決方案。它應該在linux,mac和windows上工作。2d繪製原始圖像和圖像:OpenGL,Cairo或Agg

回答

5

如果你已經在使用OpenGL渲染你的遊戲,你應該做的一件事情就是而不是做的是使用任何類型的軟件渲染器來繪製遊戲的UI。所以要麼使用開羅的OpenGL後端(我知道這並不是特別好),或者使用OpenGL進行渲染。否則,您將通過從CPU內存到GPU的所有像素傳輸來殺死您的性能。

+2

+1。請告訴Wayland/GNOME3的開發者。他們的架構是「渲染所有客戶端,使用OpenGL進行窗口合成」。地獄和字體看起來像垃圾一樣效率低下。 – datenwolf

+1

如果你將所有渲染過的圖像轉換爲一個紋理,每幀一次? – Bojan