寻找使用C#将Cairo上下文绘制到屏幕的最快方法

时间:2013-07-25 21:21:24

标签: c# opengl sdl cairo

我正在设计一个C#框架,使用Cairo制作基于矢量的游戏。目前,我正在使用TaoMono.Cairo来创建绘制到SDL曲面的Cairo上下文,然后将该曲面绘制到屏幕上。源代码可用here

起初我觉得它工作得很好,以很好的速度渲染了大量的东西......但后来我尝试以1080p全屏运行它突然放慢了方式

我正在阅读很多关于它的内容,在某处我看到有人说可能使用OpenGL进行渲染会提高2D绘图的性能而不是使用SDL ......就是这种情况吗?它值得吗?或者我还有其他选择吗?

我觉得在屏幕上画几个形状会很困难,特别是看到开罗的其他部分看起来有多棒。

1 个答案:

答案 0 :(得分:1)

我并不特别了解Cairo,特别是因为它是它的单声道变体,但是当开发一个看似简单的引擎来使用Helix 3D渲染网格集时,一个类似的WPF渲染工具包到了Tao ,我注意到当我渲染我的样本和小网格时效果很好,但是当我尝试以更大的分辨率渲染更大的区域时,性能却很低落。

我认为这一切都归结为这些工具包非常适合您的日常渲染和小型项目,但是当您正在寻找开发游戏或者即使在高分辨率下也应该表现良好的东西时,优化和调整OpenGL和DirectX背后都是无与伦比的,它们几乎总能胜过小鱼。

对于我个人而言,当我转移到使用DirectX时,在渲染与Helix 3D完全相同的网格集时,我获得了近乎完美的性能。所以是的,使用更大的框架有一定的优点。这可能是值得的。