移动GPU多线程基础基本知识总结

请添加图片描述先吐槽一下自己的理解路程:
(1)自己先看过移动GPU相关的术语和解释,只get到了多线程和并行等之类的名词,至于多线程是怎么一步一步来产生使用优化的???!!!!! 还是稀里糊涂的
(2)后来看《Real-time rendering 4th》 中文版,由于自己对名词的混淆,感觉自己全乱了,我擦!!!!!!!
(3)怎么办 ?看原著!!!!!!! 抱着有道词典,开始啃相关的内容,有了新的感悟,

将书中的知识摘抄整理如上图,总算是把知识点串起来了!!!!!!

线程的定义:每个fragment的 pixed shader 的调用。
线程的组成:用于着色器输入值的一点内存以及着色器执行所需的任何寄存器空间组成!!!

Warp的组成:使用相同Shader program的线程被分为几组
(使用相同着色器程序的线程被分为几组,被NVIDIA称为warp)

Warp的执行: 有许许多多的ALU执行

更多的解释整理
详细但杂乱的解释

有人问 FrameBuffer 是个啥? 不应该是位于显存中吗?

详细解释:

(1)FrameBuffer的介绍

FrameBuffer 也叫帧缓冲,其内容对应于屏幕上的界面显示,可以将其简单理解为屏幕上显示内容对应的缓存
修改FrameBuffer中的内容, 即表示修改屏幕上的内容,所以, 直接操作FrameBuffer可以直接从显示器上观察到效果

FrameBuffer 并不是屏幕内容的直接的像素的表示。
包含几个不同作用的缓存: 颜色缓存, 深度缓存,模板缓存 等, 在这几个缓存的共同作用下,形成了最终在屏幕上显示的图像

FrameBuffer 本质上是一段存储空间, 可以位于内存 也可以位于显存。。、
只要是在GPU能够访问的空间范围内(GPU的物理地址空间),任意分配一段内存(或显存),都可以作为FrameBuffer使用,
只需要在分配后将该内存区域信息,设置到显卡相关的寄存器中即可。

おすすめ

転載: blog.csdn.net/js0907/article/details/120201162