iPhone/ipad将quartz2d线条图转换为opengl

iPhone/ipad将quartz2d线条图转换为opengl,iphone,ios,ipad,opengl-es,quartz-2d,Iphone,Ios,Ipad,Opengl Es,Quartz 2d,这完全是一个新手问题,但我正在寻找一些opengl的初学者指南。我有一个应用程序,它使用quartz 2d在视图上绘制静态线。这一直运行良好,但我们在iPad1上遇到了一些性能问题,我们觉得我们无法再对其进行优化以加快速度 我们希望重写视图以使用opengl,这样我们可以提高渲染性能,但是我们在opengl方面没有任何经验。我一直在网上浏览,到处玩,但收效甚微。我一直在使用提供的示例()开始,但我想知道是否有人可以编写一点代码来向我们展示如何在视图中绘制一组线条。我的答案可能在这里得到粗略的判断

这完全是一个新手问题,但我正在寻找一些opengl的初学者指南。我有一个应用程序,它使用quartz 2d在视图上绘制静态线。这一直运行良好,但我们在iPad1上遇到了一些性能问题,我们觉得我们无法再对其进行优化以加快速度


我们希望重写视图以使用opengl,这样我们可以提高渲染性能,但是我们在opengl方面没有任何经验。我一直在网上浏览,到处玩,但收效甚微。我一直在使用提供的示例()开始,但我想知道是否有人可以编写一点代码来向我们展示如何在视图中绘制一组线条。

我的答案可能在这里得到粗略的判断,无论如何,我将从我们的经验中告诉大家一些东西。我们正在构建一个处理图表(Line/Column/Pie/…)的iPhone/iPad应用程序。我被要求研究使用哪种技术。所以最后我们选择了OpenGL ES,因为它更灵活,更低级的图形引擎。最后,当我们在OpenGL中遇到很多问题时,当我们在UITableView中绘制这些图表时,我们创建了后台线程和LOOT,并进行了大量的调整,以获得性能并排除应用程序崩溃(这种情况持续存在)。最后,我们意识到,我们的图表并不像许多其他现有应用程序那样流畅。在没有太多计算的情况下,逐帧绘制架构可能是有效的,但在我们的例子中,它非常慢,即使许多顶点都是预先计算的。最后我们决定转到Quartz2D,实际上我们已经赢得了这场战争。所有的图表都是由iOS框架绘制的,它是本机的,并且经过了一些优化,可以快速平滑地绘制。 所以,如果您试图画一条线,并且您认为通过将quartz传递到opengles将获得更好的性能,那么我的意见是不这样做。
祝你好运。

我的答案在这里可能会得到粗略的判断,无论如何,我会从我们的经验中告诉你一些事情。我们正在构建一个处理图表(Line/Column/Pie/…)的iPhone/iPad应用程序。我被要求研究使用哪种技术。所以最后我们选择了OpenGL ES,因为它更灵活,更低级的图形引擎。最后,当我们在OpenGL中遇到很多问题时,当我们在UITableView中绘制这些图表时,我们创建了后台线程和LOOT,并进行了大量的调整,以获得性能并排除应用程序崩溃(这种情况持续存在)。最后,我们意识到,我们的图表并不像许多其他现有应用程序那样流畅。在没有太多计算的情况下,逐帧绘制架构可能是有效的,但在我们的例子中,它非常慢,即使许多顶点都是预先计算的。最后我们决定转到Quartz2D,实际上我们已经赢得了这场战争。所有的图表都是由iOS框架绘制的,它是本机的,并且经过了一些优化,可以快速平滑地绘制。 所以,如果您试图画一条线,并且您认为通过将quartz传递到opengles将获得更好的性能,那么我的意见是不这样做。
祝你好运。

这是一个有趣的发现。当用户在屏幕上画图时,我们的视图所做的就是画线。它在iPad2上运行良好,但在iPad1上的采样时间太长,因此我们正在努力减少这一点。我们已经在做一些事情,比如只使用r-树等重新绘制屏幕的一部分,但是我们无法缩短绘制时间,并且认为opengl可能会有所帮助这是一个有趣的发现。当用户在屏幕上画图时,我们的视图所做的就是画线。它在iPad2上运行良好,但在iPad1上的采样时间太长,因此我们正在努力减少这一点。我们已经在做一些事情,比如只使用r树重新绘制屏幕的一部分,但是我们无法缩短绘制时间,并且认为opengl可能会有所帮助