1、GPU是如何与CPU协调工作的?
CPU与GPU的交流通过MMIO(Memory Mapped IO)进行。CPU 通过 MMIO 访问 GPU 的寄存器状态。
任何命令都是由CPU发出。命令流(command stream)被提交到硬件单元,也就是GPU Channel。
2、GPU也有缓存机制吗?有几层?它们的速度差异多少?
有,某些GPU最多包含5层结构,分别为寄存器、L1缓存、L2缓存、GPU显存、系统显存。
以2010年推出的NVidia Fermi架构为例(L2缓存在左下图中)
3、GPU的渲染流程有哪些阶段?它们的功能分别是什么?
顶点着色器:
- 将顶点从模型空间转换到世界空间
- 从世界空间转换到摄像机空间
- 确定光线对材质的影响(Shading)
*此时将信息储存,用于之后的逐片元计算 - 进行投影(正交/透视),转换至裁剪坐标系/标准化设备坐标系(normalized device coordinates,即NDC)(所有坐标在-1到1之间)
曲面细分:
根据摄像机的距离,调