【问题标题】:Android Emulator: Show GPU OverdrawAndroid 模拟器:显示 GPU 过度绘制
【发布时间】:2013-03-04 04:37:57
【问题描述】:

自从我阅读了this 以来,我一直在尝试创建一个可以使用“显示 GPU 过度绘制”的模拟器。

我按照提示 herethere 进行操作,但是在新工具中,当创建新的 AVD 时,我找不到启用 GPU 仿真的方法。 这可能就是为什么我在模拟器中看不到 GPU Overdraw 的原因,尽管在模拟器的开发人员设置中有“显示 GPU 过度绘制”(注意:我通过带有“-gpu on”选项的 eclipse 运行模拟器)

那么有没有人能够拥有一个模拟器来显示 GPU Overdraw?

【问题讨论】:

    标签: android emulation gpu


    【解决方案1】:

    它在模拟器上也能正常工作。

    确保在设置 AVD 时启用了“使用主机 GPU”,并且您需要运行 Android 4.2。以前的 Android 版本不包含该功能。

    除此之外,只需在开发者选项中启用“显示 GPU Overdraw”设置,然后重新启动您要分析的应用程序即可。

    您需要确保应用程序启用了硬件加速,否则它不会被 GPU 绘制,因此您无法显示 GPU 过度绘制。或者,在 Android 设备的开发者设置中使用“强制 GPU 渲染”选项。

    这是运行 Android 4.2 并启用该选项的模拟器的屏幕截图:

    这是我的 AVD 设置,如果你想看看:

    【讨论】:

    • 我想我必须使用 intel atom (x86) CPU 才能让它工作,对吧?但是,我需要 Google API,当我选择它们时,我没有选择 CPU 的选项(选择了 ARM-armeabi-v7a 并且该字段被禁用)
    • 我不确定这是否重要,您可以尝试一下。它只是让 Android 更快,因为它可以在 x86 架构而不是模拟 CPU 上运行,所以我非常怀疑它会改变什么。
    • 感谢您的提示;我想显示的仿真器 CPU 无关紧要。但是,尽管我看到某些模拟器应用程序(例如:消息传递、浏览器)中显示了 gpu 过度绘制,但我在我的应用程序中看不到它。知道为什么吗?
    • 我猜GPU透支的显示也取决于清单中声明的​​目标/最小版本。我必须增加目标/最小版本才能在我的应用中工作
    • @NeTeInStEiN 对此提供了帮助:应用程序需要至少针对 API 14 才能显示 GPU Overdraw
    【解决方案2】:

    您必须编译为在 AndroidManifest 上至少有一个 minVersion=4 并编译为 target=14

    【讨论】:

    • 有什么特别的原因吗?我只是想知道它直到 Android 4.2 才添加。
    • 不知道...经验知识。
    • 我很确定它适用于所有硬件加速的应用程序。以 API 级别 14 为目标时,默认情况下会启用该功能,因此这可能是触发它的原因。以 API 级别 11 为目标并启用硬件加速也可以解决问题。
    猜你喜欢
    • 2012-04-28
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    • 1970-01-01
    • 2011-05-30
    • 2015-04-27
    • 2013-01-22
    相关资源
    最近更新 更多