Snapdragon——3.移除没有的rt

Posted shaojunping

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Snapdragon——3.移除没有的rt相关的知识,希望对你有一定的参考价值。

GMEM是gpu里重要的资源,gpu基于framebuffer的大小生成tile,通过解析tile在主存中重建surface。这个操作就是gmem store。更多的rt,导致更多的tile,更多的store操作,更多的性能损失。

恰当地说,GMEM就像到gpu的高速的L1级缓存。从这个缓存上加载东西,消耗大,要尽量避免。从这个cache上store东西到non-tile内存也很奢侈,也要避免。

用Snapdragon的trace capture模式,能看GMEM的store。下图,紫色区域是gmem store col和depth、stencil。在3个surface(将采样和模糊)。

技术图片

 

 点击这些surface打开inspector抽卡,看到surface的属性。可以看到color、depth、stencil的绑定。

这帧里降采样和blur都不需要深度和stencil。

rt是较高级的graphic API,bin操作是gpu将rt除了一个值,生成一个或多个bin,这些bin可以在gmem上工作,gmem的一个tile大概是一个bin。

优化代码后,

技术图片

 

 

技术图片

 

 bin的数量减少了,深度模板没了。bin在不同平台不一样。

surface的渲染时间也降低了。

 

参考:https://developer.qualcomm.com/software/snapdragon-profiler/app-notes/remove-unused-render-targets

以上是关于Snapdragon——3.移除没有的rt的主要内容,如果未能解决你的问题,请参考以下文章

Linux 内核实时调度类 ⑦ ( 实时调度类核心函数源码分析 | dequeue_task_rt 函数 | 从执行队列中移除进程 )

三星 Exynos 4412 高通 骁龙Snapdragon APQ8064 这两者哪个叼

暴走吧!Snapdragon SDK开发速成指南

SnapDragon Profiler 学习

SnapDragon Profiler 学习

MediaCodec H264 编码器不适用于 Snapdragon 800 设备