【问题标题】:Debugging OpenGL ES 2.0 game that runs in Windows through PowerVR emulation通过 PowerVR 仿真调试在 Windows 中运行的 OpenGL ES 2.0 游戏
【发布时间】:2013-06-19 10:18:28
【问题描述】:

我有一个小型跨平台引擎,可以在 Android 和 Windows 上运行我的 OpenGL ES 2.0 游戏。要在 Windows 上运行它,我使用的是 PowerVR 模拟器(只是链接到项目的库)。这一切都很好。

现在我想在任何 OpenGL 调试器中对其进行调试和检查。我尝试过英特尔 GPA、AMD CodeXL、gDebugger、glslDevil。但没有一个人能够做到。在英特尔 GPA 的情况下,它没有找到正在运行的游戏。在其他情况下,它启动了游戏,但未能暂停或稍后执行任何操作。

不知道是不是因为是OpenGL ES而不是OpenGL。但我认为 PowerVR 仿真必须像将 OpenGL ES 转换为 OpenGL 一样工作?

我的问题是:

  • 是否有任何(实用)方法可以在 Windows 上调试 OpenGL ES 2.0 程序?
  • 或者有没有比 PowerVR 更好的仿真库来强制应用在其他工具中看起来像 OpenGL(而不是 OpenGL ES)?

我正在做这一切,因为在 Android 设备上没有一个调试器适合我。我正在使用三星 Galaxy Tab(这是 Tegra GPU)进行开发,但 Nvida 的 PerfHUD ES 目前不支持它(而且我也不满足只有 3.1 的 Android 4.0 或更高版本)

  • 有什么方法可以在 Android 3.1 版本的三星 Galaxy Tab 设备上调试 OpenGL ES?

感谢

【问题讨论】:

    标签: opengl-es


    【解决方案1】:

    您是对的 - PVRVFrame 将 OpenGL ES 调用转换为主机 OpenGL 调用。这就是为什么 gDEBugger 之类的工具会捕获模拟器发出的 OpenGL API 调用,而不是您实际提交的调用。

    PowerVR SDK 包含一个名为 PVRTrace 的 OpenGL ES/EGL API 记录工具,它具有您正在寻找的所有功能。 PVRTrace 记录库可用于记录在 Windows 和 Linux 上使用 PVRVFrame 的应用程序。 SDK 还包括适用于 Android 和 Linux 设备的录制库。

    PVRTraceGUI(适用于 Windows、OSX 和 Linux 的分析工具)可用于查看和检查您记录的数据。它还有一个图像分析小部件,可让您逐步完成录制中的绘制调用和一些其他方便的功能,例如像素分析饼图,它突出显示渲染中最昂贵的片段着色器,以便您知道着色器优化的重点.

    还有一个 PVRTrace 独立播放工具,可让您在任何受支持的操作系统(包括 Windows 和 Android)上重播您的录音。

    您可以在 Imagination 网站here 上找到该工具的概述,并可以通过 PowerVR SDK 安装程序下载 PVRTrace,该安装程序可用here

    【讨论】:

      【解决方案2】:

      我经常使用 PowerVR VFrame 转换器在 Windows 上调试 OpenGL ES,如您所说,它将 OpenGL ES 调用转换为 OpenGL。我认为这是最好的解决方案。 VFrame 有一些步进和跟踪功能,但我主要使用的是 MSVC++ 的调试功能。

      如果您在 android 上使用 GLSurfaceView,它也具有 OpenGL ES 跟踪功能。我还建议使用 X86 AVD 而不是 ARM 或信任任何一台设备上的驱动程序。本文详细讲解:

      http://software.intel.com/en-us/articles/porting-opengl-games-to-android-on-intel-atom-processors-part-1

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多