理解iphoneopengl评测
我的应用程序已启动并正在运行,现在我希望提高渲染性能。我用“仪器”收集了一些数据。我用的是一部旧的iphone3g手机,这是最糟糕的情况 时间分析器:理解iphoneopengl评测,iphone,opengl-es,instruments,Iphone,Opengl Es,Instruments,我的应用程序已启动并正在运行,现在我希望提高渲染性能。我用“仪器”收集了一些数据。我用的是一部旧的iphone3g手机,这是最糟糕的情况 时间分析器: -30% CopyVertexElementsMultipleSequential -11% mach_msg_trap -4% _semwait_signal -2% ValidateState 但是,使用Open GL ES驱动程序,采样器显示: -70% _semwait_signal -24% C
-30% CopyVertexElementsMultipleSequential
-11% mach_msg_trap
-4% _semwait_signal
-2% ValidateState
但是,使用Open GL ES驱动程序,采样器显示:
-70% _semwait_signal
-24% CopyVertexElementsMultipleSequential
-0.7% mach_msg_trap
翻看这些文档,我还没有弄清楚OpenGL ES采样器和计时器分析器之间的区别。有人能告诉我吗?首先,这就是你正在看的取样器。OpenGL ES驱动程序模板仅包括采样器工具和OpenGL ES驱动程序工具。它与OpenGL ES没有任何特殊关系 取样器仪器和时间剖面仪收集数据的方式不同。从: 时间剖面仪及其应用 取样器仪器与之类似,但 有一些区别:
- 时间分析器以与Shark相同的方式收集回溯数据,从 内核空间。取样器,另一方面 另一方面,从用户空间收集数据。 因此,时间剖面仪更为重要 在采集时比取样器效率高 数据
- 注意:如果 优化目标进程以省略 帧指针
- 时间分析器可以从一个或所有进程收集数据。取样器只能 对单个过程进行采样
- 时间分析器只能对所有线程状态或正在运行的线程进行采样。 取样器总是对所有线程进行采样 国家。一般来说,你是感兴趣的 在运行线程中。当你的 应用程序已挂起,您想 检查所有线程状态
查看特定的跟踪数据,您似乎花费了大量时间将几何图形复制到GPU。我会考虑使用顶点缓冲区对象(VBO)来显著减少这种情况。谢谢你的回答。这已经帮了大忙了。我还有一个问题,但没关系:)