ios - OpenGL ES 2D 绘图性能评估

标签 ios graphics opengl-es drawing 2d

我遇到过 Quartz/Core Graphics 极差的绘图性能。

我不认为它在所有情况下都不好,但在我需要经常重画 3000 条短线的情况下,它表现得非常糟糕。

由于(MVC 的)Modal 是固定的,我无法更改它吐出数据的方式(如果可以的话,我会听从建议,只绘制更改,因此不必每帧都重新绘制线条).

因此,作为结论,我正在考虑为此目的使用 opengl,并且我想请你们(有经验的)家伙在开始研究该主题之前评估使用 opengl 的效果如何,因为看起来困难得多 比 quartz 。

最佳答案

您几乎肯定会看到 OpenGL 比 Quartz 的速度性能提升,但请记住,Quartz 使用点对点绘图,而 OpenGL 是基于顶点和顶点点(本质上是坐标)的使用。您可能会发现您需要对现有数据源进行一些中等强度的解析工作,以将其重新工作到这个顶点点系统中。

另请记住,在 OpenGL ES 对象上绘制文本是一项棘手的任务 - 它可以(讽刺地)通过使用 Quartz 生成图像,然后使用该图像作为纹理来完成。

我绝对推荐使用 OpenGL Kit,因为它会让 OpenGL 初学者的生活更轻松。 Ray Wenderlich 在这里有一个很好的起点教程:

http://www.raywenderlich.com/5223/beginning-opengl-es-2-0-with-glkit-part-1

关于ios - OpenGL ES 2D 绘图性能评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22991371/

相关文章:

ios - 无法使用类型为 'pathForResource' 的参数列表调用 '(String, ofType: JSON.Type)'

graphics - 经典的侧滚轮是如何实现定时事件和动画触发器的?

android - 使用 MediaCodec 录制 Surface

ios - iOS游戏开发的各种框架之间的区别?

ios - 在表格 View 中创建阴影

iphone - 在 CoreGraphics/MapKit 中调试崩溃

algorithm - 如何从协方差矩阵和平均位置获得最佳拟合边界框?

c - 纹理不随 OpenGL 旋转 (C)

ios - 更改动画速度系列图像

java - 如何在TextureView中清除Canvas(绘制越来越多的圆圈后)