Oculus为Quest推出两款全新GPU性能开发工具
原标题:Oculus为Quest推出两款全新GPU性能开发工具
来源:映维网 作者 黄颜
Oculus和高通在过去一年中一直在努力构建一个名为Performance Interface Library(PIL)的底层设备端库,从而提供以前只能通过Snapdragon Profiler获得的GPU信息。这个库现在已经嵌入到Quest操作系统中,并提供了两种主要的信息:渲染阶段度量和实时度量。你可以通过GPU Systrace和ovrgpuprofiler这两个新工具进行访问,以最少的GPU开销来探其所为。
1. GPU Systrace
对于大多数现有的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
L1 Texture Cache Miss Per Pixel : 0.166
要查询renderstage数据,在调用ovrgpuprofiler-e并重启应用(这是将应用的GPU情景置于分析模式所必需的动作,与GPU Systrace完全相同)之后,对ovrgpuprofiler-t的调用将返回如下信息:
Surface 1 | 1216×1344 | color 32bit, depth 24bit, stencil 0 bit, MSAA 4 | 60 128×224 bins | 5.12 ms | 123 stages : Binning : 0.643ms Render : 2.17ms StoreColor : 0.474ms Blit : 0.002ms Preempt : 1.411ms
渲染阶段数据允许我们回答这样的问题:“我的应用实际需要多长时间完成计算,其中有多少是时间扭曲?”
我们从数据中可以看到,它需要5.12毫秒来执行,其中1.411毫秒是时间扭曲。现在,你已经拥有了为应用做出明智选择所需的一切信息。
3. 总结
有关PIL、ovrgpuprofiler和GPU Systrace的更多信息,请查看GPU Systrace文档 和ovrgpuprofiler文档 。
需要注意的是,这个库和附带工具正在开发之中,而Oculus计划在不久的将来添加更多的信息和功能,如绘制调用度量和其他渲染阶段。Oculus同时注意到Vulkan的一个问题:在使用渲染阶段跟踪时会造成不必要的CPU等待。
相关文章
-
Tiktok平台算法及规则
-
蚂蚁金服计划为1000万家欧洲中小企业提供支持
-
郭台铭否认富士康将裁员10万人 也不会削减研发开支
-
【重磅】阿里云变阵阿里云智能,换帅行巅!与腾讯、华为三云争霸
-
微商“救星”爱库存:打捞的只是微商回光返照的假象?
-
雄赳赳!2300万买家抬着云集赴美IPO
-
【钛晨报】京东投资12.7亿元购买五星电器46%股份;Uber接近与软银等达成总计10亿美元投资协议;亚马逊将关闭中国国内电商业务
-
热点丨中国科协回应提名李彦宏增选院士:贡献在搜索引擎
-
Discuz插件网站自动采集发布管理
-
汝南县第三幼儿园开展“庆元旦,迎新年”系列主题活动
-
线下消费都有PlanB,网咖却很难
-
CIRP:iPhoneXR是美国最畅销iPhone机型
-
深居内陆的成都,为何连年稳居新一线城市榜首?
-
数据赋能营销 品牌破局之道 ZOL科技互联网生态研讨会盛世将启
-
智东西早报:小米获美图手机品牌 全球人脸识别大赛中国10占其5
-
无法向微信好友发淘宝、抖音链接?一消费者向腾讯提起反垄断诉讼
-
微信7.0:张小龙的未完待续
-
热点|小米之家全面取消员工销售提成改为底薪+绩效
-
最前线|抖音TikTok在美增速放缓,与Facebook的竞争还在继续
-
苹果官网下架iPhone X 却上架多款保护壳
-
ofo名下已无可执行财产,华为新专利曝光有“站立”模式,微软网店恢复销售华为
-
客户端指纹浏览器指纹识别机器人自动化网页自动化指纹切换
-
2019年进口游戏版号发放:腾讯难“吃鸡”,网易“不容易”
-
杀死盗版的新逻辑
-
智慧农贸现代化有哪些特点?
-
人均20!吃宜州烤鱼、田螺鸭脚煲、手拍黄瓜......南宁人气TOP宵夜档很难不爱!
-
微宝阁SCRM系统告诉您如何利用企业微信来沉淀私域流量?
-
小米牵手TCL,为何雷军对家电兴趣浓厚?
-
36氪独家|“朕惊”!做硬件的小米,推出首款短视频应用