捕获 Weston/Wayland 日志
你可以使用 Wayland/Weston 日志来验证显示驱动是否已在设备上加载,并查找支持的 OpenGL ES 扩展。要捕获 Weston/Wayland 调试日志,请在启动 Weston 或任何其他应用程序之前运行以下命令:调试 Kernel/KGSL
你可以通过将 GPU 调整到不同的频率级别,并将 GPU 或 CPU 设置为性能模式来评估应用程序的性能。基于这些评估,你可以优化应用程序的性能。将 CPU 设置为性能模式
- 使用以下命令重新挂载文件系统:
- 要设置所有 CPU 核心,请将
cpux替换为cpu0、cpu1和cpun。示例输出 ondemand userspace performance schedutil - 如果任何 CPU 时钟以低频率运行,请将 CPU 设置为性能模式,并通过运行以下命令验证问题:
- 要验证试验设置,请运行以下命令:
设置 GPU 频率
注意 以下命令仅适用于 Adreno/KGSL overlay 或 qcom‑multimedia‑proprietary‑image。- 使用以下命令重新挂载文件系统:
- 对于功率级别,请检查
available_frequenciessys 节点。示例输出 812000000 700000000 608000000 550000000 450000000 315000000 从示例输出中,你可以将 GPU 功率级别解读为: - 将 GPU 功率级别逐级递增,并在以下命令中将
<level>分别替换为 0、1、2、3、4 和 5 来执行 GPU 功率级别测试:
- Adreno GPU 频率固定为 315 MHz。
- 此处指定的功率级别不受支持,
available_frequencies命令的输出显示为 315000000。
将 GPU 设置为性能模式
- 要将 GPU 设置为性能模式,请运行以下命令:
注意 这些命令会强制 GPU 始终以最高频率运行。
- 要确保即使设备空闲 10000000 毫秒 GPU 也不会进入低功耗状态,请运行以下命令:
- 要将 GPU 设置为性能模式,同时确保 GPU 不会进入低功耗状态,请运行以下命令:
检查其他 KGSL 设置
- 要启用 KGSL 时钟,请运行以下命令:
- 要启用 KGSL 电源轨(rail),请运行以下命令:
- 要启用 KGSL 总线,请运行以下命令:
调试基于 OpenGL ES 的应用程序
你可以使用 Snapdragon Profiler 工具捕获 OpenGL ES 应用程序的快照和实时跟踪。有关更多信息,请参阅 Snapdragon Profiler。调试基于 OpenCL 的应用程序
你可以使用 Snapdragon Profiler 工具捕获 OpenCL 应用程序的快照和实时跟踪。- 有关更多信息,请参阅 Snapdragon Profiler。
- 有关性能分析,请参阅 Qualcomm® Snapdragon™ Mobile Platform OpenCL General Programming and Optimization Guide 中的 Performance profiling。
clGetEventProfilingInfo API。
调试基于 Vulkan 的应用程序
使用 Snapdragon Profiler 工具捕获 Vulkan 应用程序的快照和实时跟踪。有关更多信息,请参阅 Snapdragon Profiler。此外,你还可以使用验证层(validation layers)来调试 Vulkan 应用程序。使用验证层调试 Vulkan 应用程序
要使用验证层调试 Vulkan 应用程序,请在 Linux 主机上执行以下操作:- 要设置源环境,请运行以下命令:
- 要下载验证层,请运行以下命令:
- 要构建验证层,请运行以下命令:
注意 如果
/tmp/local/debug/vulkan目录不存在,请创建一个类似的目录。 - 要在 Vulkan 应用程序上启用验证层,请按如下方式设置
VK_INSTANCE_LAYERS环境变量: - 要编辑或追加
layers/vk_layer_settings.txt文件中的设置,请运行以下命令: - 要将
layers/vk_layer_settings.txt文件推送到设备,请运行以下命令: - 要转储日志,请运行以下命令添加验证层的路径:
此命令会在 Vulkan 应用程序二进制文件所在的同一目录中生成转储文件。
tmp 目录中的数据被清空,请将 Vulkan 应用程序二进制文件保存到其他位置。如果更改了二进制文件的位置,请确保更新环境变量,并在重启后验证更改。
