基于移动平台消除冗余GPU绘制片段的技术
来源:互联网 发布:詹姆斯各项数据排名 编辑:程序博客网 时间:2024/05/21 13:19
A brief report about paper Eliminating Redundant Fragment Shader Executions on a Mobile GPU via Hardware Memoization .
GPU is made for render, no matter rendering for movies, for video games, or just for models. In this rendering, here comes the problem that there are some fragments that have been rendered not only once, or in an other word, redundant[i]rendering, especially in the scenes of video games. And this paper aims to reduce or eliminate the redundant fragment shader. Less computation, more battery. So this paper is also about energy saving for GPU.
The main difficulty of this work is that the redundancy exists across frames, which means, this is a temporal problem, not spatial. And the paper's scheme can remove about 60% of the redundant fragment computations for mobile devices. To remove the redundant fragments in temporal domain, a task-level memoization scheme is added on the top of PFR(Parallel Frame Rendering).
Yet,programmer can't access the graphics memory directly, so the author uses the HW structure as signature of the total input. When a computation is executed, the input and result will be cached in a Look Up Table. The following executions will probe the input to find out whether hit or not before calculation. And the concept is quite straightforward.
The Parallel Frame Rendering PFR mentioned above renders two consecutive frames in parallel, so the baseline GPU is splited into two clusters, even frames for cluster 0, odd frames to cluster 1. 50% of the redundant fragments have distances smaller than 64 fragments,61.3% smaller than 2000.
There is a balance between re-use computation(memoization structures) and actual rendering computation, so comes the task-level complexity. The distance of re-use should be limited small. The fragment shaders render just a single output color, not all the details, so referential transparency can be guaranteed by monitoring the API class.
The memoizaton system will detect the candidate fragments and lookup of prior fragment information, so to replace the redundant components. Fragment with much information about registers and texture samplers will not be used as candidates. So not all input bits are used for generating signatures. To find the proper input, hash function generator is implemented.
In order to evaluate the result, the author used a mobile GPU simulation to run unmodified Android applications to get better evaluation. The OpenGL commands are redirected to GPU driver to provide hardware accelerated graphics. The GPU instruction and memory trace is used to drive the simulator.
2D games fit perfectly for the memoization technique, with static backgrounds,which can be easily understood. But for scrolling 2D games and 3D games, the result is not very bad, for 3D games still have some degrees of redundancy,especially the background, when the camera not move around. When the camera is moving, the optimization process works a little worse.
I think about the problem that paper proposed before, reduce the redundant rendering is a great way to speed up the computation, but the cost of computing the relation between the fragment must be controlled, both time and space. And the author does a lot of work to optimization this process.
- 基于移动平台消除冗余GPU绘制片段的技术
- 消除Java 的冗余代码
- AppCan移动快速开发平台是基于HTML5技术的跨平台快速开发解决方案
- 一种消除代码冗余的控制结构
- python中消除冗余参数的方法
- lombok如何做的冗余代码消除。
- 强大的GPU片段编程:
- 移动平台GPU浮点测试
- 关于移动平台GPU浮点运算的文章转载1
- 关于移动平台GPU浮点运算的文章转载2
- 关于移动平台GPU浮点运算的文章转载3
- GPU上冗余多线程的实际实现
- 插件开发技术说明(16)---消除代码冗余
- 基于GPU的光线投射体绘制(GPU-Based Ray-Casting Volume Rendering)入门学习
- 基于GPU的光线投射体绘制(GPU-Based Ray-Casting Volume Rendering)入门学习
- 【GPU编程】基于GPU的光线投射体绘制(GPU-Based Ray-Casting Volume Rendering)入门学习
- 分享一项基于Android、iOS平台的移动端身份证识别技术
- 基于Android、ios平台,支持接口开发的移动端车牌识别技术
- cpanel服务器的跳转
- unity3D与iOS原生工程项目合并以及合并过程中的问题
- 经典算法之七大排序总结篇
- iOS Xcode 8.2.1 如何使用快捷键生成注释
- 人脸识别关键技术
- 基于移动平台消除冗余GPU绘制片段的技术
- 实验1-顺序结构 —— C语言实验——交换两个整数的值(1115) ★
- 百.度.云.盘.破.解方法
- loadrunner12.5 录制脚本后不能回放问题
- Android Behavior
- 很久很久前初学Java时的笔记--集合操作1
- ueditor 更改上传文件的路径
- 浅谈 SQL 中的锁(六)查看锁的基本方法
- 小生初来CSDN