88棋牌登陆Oculus和高通在过去一年中一直在努力构建一个名为Performance Interface Library(PIL)的底层设备端库,从而提供以前只能通过Snapdragon Profiler获得的GPU信息。这个库现在已经嵌入到Quest操作系统中,并提供了两种主要的信息:渲染阶段度量和实时度量。你可以通过GPU Systrace和ovrgpuprofiler这两个新工具进行访问,以最少的GPU开销来探其所为。

1. GPU Systrace

88棋牌登陆对于大多数现有的GPU工具,一个核心问题是它们将时间测量作为绘制调用序列,而移动GPU将一个接一个地渲染曲面图元。你无法查询图片时间和信息,因为图元是在图形API之下抽象出来。然而,PIL为我们提供了一种查询所有相关数据的方法,能够有效地告诉我们“GPU渲染了一个1216×1344的曲面,其中96个图元的大小都是192×168,耗时5.2ms。”

GPU Systrace将渲染阶段信息集成到Systrace中,从而提供了更佳的可视化体验,并允许你在同一视图中查看GPU负载和CPU负载。通过这样的方式,你就可以探知应用程序的CPU负载和GPU负载是如何协同工作。

VrCubeworld 示例规矩输出(须用Chrome浏览器)

在上面的屏幕截图中,你可以在顶行看到GPU渲染曲面的进程,而CPU进程则在底行呈现。在GPU完成渲染曲面后不久,CPU等待操作(FenceChecker::wait)就会释放。另外,GPU曲面渲染过程会划分为一系列的渲染阶段。Binning是指计算所有绘制调用的三角形顶点位置并将其分配给对应于绘制曲面分区的bin。Render表示一个bin的所有顶点和片段操作的总成本。Preempt是合成器,一个操作系统级的服务,它定期执行并将应用程序提交的图像显示在屏幕。有关工具提供的GPU信息的完整列表,请参阅这个GPU Systrace文档。

2. Ovrgpuprofiler Tool

Ovrgpuprofiler是Oculus Quest的一个底层CLI工具,主要用于提供对详细GPU信息的访问。它构建成一个超轻量级的CLI客户端,并有效地充当PIL-Qualcomm库之上的wrapper。它允许你检索两种类型的信息,渲染阶段度量(类似GPU systrace,但只是文本形式)和实时度量。它的主要目标是成为一个易于使用的低摩擦工具,因为它可以直接通过adb shell提供。

在adb shell提示符中,ovrgpuprofiler-m将显示工具支持的所有实时指数列表,前几个结果是:

monterey:/ # ovrgpuprofiler -m

47 metrics supported:

1 Clocks / Second

2 GPU % Bus Busy

3 % Vertex Fetch Stall

4 % Texture Fetch Stall

5 L1 Texture Cache Miss Per Pixel

例如,如果用户希望要检索度量值3和5,用户需要调用ovrgpuprofiler–realtime=“3,5”,它将每秒返回采样的度量值:

monterey:/ # ovrgpuprofiler –realtime=”3,5”

% Vertex Fetch Stall : 1.057

L1 Texture Cache Miss Per Pixel : 0.166

% Vertex Fetch Stall : 1.082

(责任编辑:88棋牌登陆)

本文地址:http://www.nyssenate46.com/haiwai/2020/1017/2654.html

上一篇:不止3-1被翻盘!美记统计:里弗斯还有三次3-2领最后输掉系列赛 下一篇:OPPO Reno4 之 5G 系列正式发布,这次主打超级夜景视频

发表评论

您的电子邮件地址不会被公开。必填字段已标记*