Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在仪器中评测时,OpenGL ES应用程序似乎运行得更快_Ios_Opengl Es_Instruments - Fatal编程技术网

Ios 在仪器中评测时,OpenGL ES应用程序似乎运行得更快

Ios 在仪器中评测时,OpenGL ES应用程序似乎运行得更快,ios,opengl-es,instruments,Ios,Opengl Es,Instruments,我不敢问这个问题,因为它不包含细节,也没有任何代码示例,但这是因为我在过去几周内开发的三个完全不同的应用程序中遇到过它,我认为特定的代码可能会使问题变得复杂 在网上搜索,没有发现与我所遇到的现象相关的信息,所以我将把这个扔出去,希望其他人也看到了同样的事情: “问题”在于,对于一个人来说,我构建的所有iOS OpenGL应用程序在仪器中评测时的运行速度要比单独运行时快得多。与中一样,帧速率大约是中的两倍(从30fps跳到60fps)。这既可以通过代码计时循环来衡量,也可以通过观察应用程序的运行来

我不敢问这个问题,因为它不包含细节,也没有任何代码示例,但这是因为我在过去几周内开发的三个完全不同的应用程序中遇到过它,我认为特定的代码可能会使问题变得复杂

在网上搜索,没有发现与我所遇到的现象相关的信息,所以我将把这个扔出去,希望其他人也看到了同样的事情:

“问题”在于,对于一个人来说,我构建的所有iOS OpenGL应用程序在仪器中评测时的运行速度要比单独运行时快得多。与中一样,帧速率大约是中的两倍(从30fps跳到60fps)。这既可以通过代码计时循环来衡量,也可以通过观察应用程序的运行来衡量。乐器似乎在发挥神奇的作用

这是在设备上,而不是在iOS模拟器上

如果我评测OpenGL应用程序并通过仪器上传到一台设备上,特别是运行iOS 5.1的iPad3,帧速率会比单机运行快很多。似乎没有像这样的跳帧或神奈根。它只是以大约两倍的速度进行同样的计算

虽然我没有包含任何代码示例,但假设我正在做正常的工作。OpenGLES2.0,带有VBOs和VAOs。使用调度队列/块多线程处理一些计算密集型代码区域。没有异国情调或疯狂


我只是想知道是否有人经历过类似的事情。如果没有,我就回到我的洞穴,继续用叉子刺伤我的腿。

可能是,当你进行分析时,会使用发布版本(默认情况下),而不是调试版本,当你点击run时。

你完全正确。我甚至没有考虑过仪器会使用发布版本;如果有什么我认为它将是缓慢的所有数据监测。谢谢。我在Xcode 10.1中的macOS Swift应用程序中遇到了类似的问题,该应用程序加载了大约46000名足球运动员的数据(使用调度队列和操作队列进行了大量多线程处理,使用了许多异步网络回迁),并且在进行时间分析或存档构建时,代码运行速度更快。经过一些分析,我发现当从Xcode运行时,Xcode正在限制我的网络连接(这是在Wifi、调试或发布版上)。从Xcode开始,它限制在大约14K/秒,但在通过仪器运行时,或在存档构建中,我得到150K-180K秒。因此,如果使用繁重的网络代码,请注意这一点。请注意我之前的评论:在Xcode 10.2+macOS 10.14.X中,网络限制似乎是固定的。不确定是哪一个修复了它,但我现在从Xcode运行时获得了全部带宽。你确定它运行的是同一版本吗?默认情况下,“运行”使用调试版本(通常
-O0
),而“配置文件”使用发布版本(通常
-Os