【发布时间】:2013-08-18 03:16:26
【问题描述】:
我已经在分配了 768MB RAM 的 Windows 8 x64 上安装了 Android 4.2.2 的 x86 映像,并由于我的 CPU VTx 使其在“快速模式”下运行,并且渲染 UI 菜单相当快,接近 60 FPS (虽然大多数时候它更像是 ~50 FPS,这是在 Core i7 2600 上),而且我还选中了“使用主机 GPU”框。
我认为 GPU 命令确实会根据一个简单的事实进行转发,GLES2 的功能更适合我的桌面 GPU(比如最大 32 个纹理单元)。但是,GLES2 应用程序中的帧速率约为 2 FPS,甚至不基于复杂性。我扔给它的任何东西,即使是具有 10 个绘制调用的应用程序仍然以大约 2 FPS 的速度执行,所以一定有一些非常奇怪的事情发生,因为简单地将 GL 命令转发到我的 GPU(HD7850)应该提供流畅的 60 FPS。
【问题讨论】:
-
你在什么操作系统上运行你的模拟器?
-
Slow Android emulator 的可能重复项
-
Windows 8,已编辑。它不是重复的,我说的是 GLES2 支持,而不是我已经说过的通用 UI 运行得很好。
-
我不愿将 OpenGL ES 称为桌面 OpenGL 的近似模拟。虽然大部分功能确实是从 OpenGL 中简化而来,但可变精度并不是桌面 GL 的一部分。在桌面 GL 中,可变精度的想法几乎仅限于 32 位与 64 位 FP - 它一点也不像 GL ES。在桌面 GPU 上正确模拟低/中精度很可能会让您脱离硬件加速路径。
-
您的论点无效。 OpenGL ES 指定精度限定符只是提示(大多数实现甚至不支持 highp 或将 lowp 提升为 mediump)。如果您要检查 glGetShaderPrecisionFormat 返回的内容,您会发现在 DesktopGL 上所有限定符都将变量提升为 32 位格式。
标签: android-4.2-jelly-bean android-x86