gpt4 book ai didi

iphone - iPhone 上相同内容的 glFlush() 时间因帧而异

转载 作者:行者123 更新时间:2023-12-03 20:16:18 26 4
gpt4 key购买 nike

此问题与 presentRenderbuffer : GL_RENDERBUFFER_OES takes long time 相关

我有一个简单的 2D 游戏(有几个 Sprite )。对于相同的帧内容,glFlush() 执行时间从 1ms 到 30ms 不等。你知道为什么吗?我确信当我计算这个时,我没有将帧内容从一帧更改为另一帧,它是一个包含大约 30 个 Sprite 的静态场景。我使用 ~5MB 纹理内存,并额外分配 4MB 用于纹理加载。我在单线程上使用 opengles 1.1。我还有其他步骤,但他们没有使用 opengl。此行为出现在装有 iOS 4.2 的 iPhone 3G 上

最佳答案

我在 iPad(第 3 代)上尝试过此操作,当您为 iPad 进行编译时,glFlush() 对于少量几何图形(2 个三角形)需要大约 0.5 毫秒,对于更多几何图形(2 个三角形 + 100 点)需要 15 毫秒。大部分时间都是在等待displaylink回调。但是,当您针对 iPhone 进行编译时,glFlush() 至少需要 15 毫秒,而这正是大部分游戏时间所花费的地方(如果您有一个相对空的帧!)。如果您进入 2x 模式(在 iPad 上以 iPhone 模式运行的应用程序),glFlush 完成每一帧所需的时间交替:15 毫秒、30 毫秒、15 毫秒、30 毫秒。我猜 iPhone 的架构与 iPad 不同,并且 iPhone 上的 glFlush() 命令内部有某种帧限制器(记住,我只在 iPad 上尝试过 iPHone 模式)! p>

关于iphone - iPhone 上相同内容的 glFlush() 时间因帧而异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5146987/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com