手游性能之渲染分析3
举个例子:
比如,我们现在要用顶点缓存绘制一个正方形。首先我们知道,三角形是绘制图形的基本单元,我们绘制任何图形,都是用大量的三角形组合起来,堆砌完成的。而正方形,显然是由两个大小相同的三角形结合起来组成的。所以要绘制一个正方形,我们用顶点缓存写两个三角形,然后进行绘制就可以了。而一个三角形有三个顶点,两个三角形就有六个顶点。所以,用顶点缓存绘制一个正方形的话,需要用六个顶点缓存。而众所周知一个正方形也就是四个顶点。也就是说我们单用顶点缓存来绘制一个正方形,多用了两个顶点。这是顶点缓存的概念,也就是所谓的VBO技术,它直接在 GPU 中开辟一个缓存区域来存储顶点数据,避免了CPU与GPU的之间过度频繁的进行数据传送,提高了CPU和GPU的运算效率。使画面渲染可以更加快捷,渲染过程中对CPU和GPU造成的压力负载降到了最低
顶点缓存保存了物体模型所有的顶点数据,但是当物体模型很复杂、顶点数量很大时,仅使用顶点缓存绘制图形会使重复的顶点大大增加,需要对这些重复的顶点进行计算,因此需要更多的存储空间和更大的开销。但是如果我们把顶点缓存和他的好兄弟索引缓存(顶点索引化技术)配合起来使用的话,就可以大大节约内存空间,提高顶点的利用效率,获得最优搭配而这些数据可以是唯一的。索引缓存保存了构成物体的顶点在顶点缓存的索引值,通过索引查找对应的顶点,以完成图形的绘制
- 本文为博主学习笔记,未经博主允许不得转载
- 本文仅供交流学习,请勿用于非法途径
- 本文仅是个人意见,如有想法,欢迎交流