代码之家  ›  专栏  ›  技术社区  ›  kolinko

iPhone上的OpenGL基准测试

  •  1
  • kolinko  · 技术社区  · 14 年前

    我正在寻找iPhone3G/3GS图形系统(OpenGL)与PC/Mac上的图形系统的比较。

    谷歌没有帮助。也许这里有人?

    1 回复  |  直到 14 年前
        1
  •  3
  •   Brad Larson    14 年前

    虽然这可能更像是一个硬件问题,但这里有足够多的可能会影响到基于OpenGL的应用程序的设计,我将继续讨论。

    使用我的分子应用程序作为模板,我对iPhone3G、iPad和第二代MacBookAir(NvidiaGeforce9400)上运行的程序的渲染吞吐量进行了基准测试。对于MacBook,这些数字是在模拟器中运行应用程序而在系统上不执行任何其他操作时生成的:

    iPhone 3G: 423,000 triangles / s
    iPad: 1,830,000 triangles / s
    MacBook Air: 2,150,000 triangles / s
    

    你可以抓住 code for the application 并通过启用slsmolecleglviewcontroller中定义的run-opengl基准来自己尝试。这将使结构渲染为100帧,然后测量总时间和根据所示模型的复杂性计算的渲染速率。

    请注意,这是一个OpenGLES1.1应用程序,它的几何结构在当前状态下受到限制。填充率受限的应用程序可能具有完全不同的性能特征,与使用OpenGL/OpenGLES2.0明暗器的应用程序相同。

    除了性能差异之外,OpenGL命令集在iOS和Mac之间也有所不同。OpenGLES消除了OpenGL多年来积累的许多缺陷(即时模式等)。通常,OpenGL ES是OpenGL的一个子集,因此您可以将为OpenGL ES编写的内容移植到OpenGL,而不会遇到很多麻烦。桌面上的OpenGL还使用了一个较新版本的GLSL作为它的遮影器(我相信是1.4),因此那里支持的一些命令在iOS设备上不起作用。

    苹果有更多关于平台的差异 Platform Notes OpenGL ES iOS编程指南中的部分。