热点推荐
ZOL首页 > 显卡 > 评测 > 1000元以上 >

从无到有的Texture cache

GPU大百科全书第六章 谁也离不开的缓冲

CBSi中国·ZOL 作者:中关村在线 顾杰 责任编辑:林光楠 【原创】 2011年09月29日 05:00 评论

  ● 从无到有的Texture cache

  和显存不同,由于显卡最初的工作并不涉及材质工作,所以纹理缓存的历史远没有显存来的悠久。甚至直到显卡开始具备材质处理能力时,由于要求相对较低,纹理缓存也没有在第一时间出现。


GPU大百科全书第六章 谁也离不开的缓冲
第一代出现“实体”Texture cache的产品——RIVA TNT

  纹理缓存在刚出现时并不受人重视,其处境甚至可以说有些凄凉。由于需求不大,最初的纹理缓存甚至连属于自己的实体都没有得到,人们只是显存中划分的一小块独立区域,这片区域通常被分配在显存前端方便读写,TMU将需要快速缓冲的材质数据有限存放在这一小片区域中。这个甚至只能称得上是buffer的小区域,就是最初的纹理缓存。

GPU大百科全书第六章 谁也离不开的缓冲
Generating Lightmaps特性

  随着需求的不断增加,图形需求带来的纹理尺寸增长是非常迅速的,与此同时,诸如mip-mapping以及Generating Lightmaps之类的复杂纹理和操作也被更多的使用在了图形效果的表达过程中。这些要求让TMU获得一套更加快速有效的缓冲系统的愿望变的迫切起来,于是,第一代“实体化”的纹理缓存便出现了。

GPU大百科全书第六章 谁也离不开的缓冲
RIVA TNT白皮书中明确了Texture cache的存在

  第一次透露出拥有独立纹理缓存信息的GPU是NV3,也就是我们所熟悉的RIVA TNT。遗憾的是由于公开信息的不足,我们已经无从得知出现在NV3中Texture cache的确切数量了,我们甚至不能确定他究竟是独立ram还是共享DRAM,这从侧面也反映出了当时对纹理缓存重视度的严重不足。其后NVIDIA曾经再次在NV15时代宣称其拥有独立于VRAM之外的纹理缓存,但具体信息依旧不明。到NV20时代,纹理缓存的存在渐渐被大众所接受和关注,但依旧同NV15一样确切数量无从考证,人们只能通过对NV2A的研究,将NV2X的Texture cache数量推定在了128K。其后的诸多GPU构架中都曾多次提到Texture cache,但对大小问题始终焉语不详。截止到NV40为止,整个GPU体系的纹理缓存一直处于半神秘状态,而且仅有一级,我们可以将其称为L1 Texture cache。

GPU大百科全书第六章 谁也离不开的缓冲
Texture cache对材质存储体系非常重要

  相对于L1,L2 Texture cache的出现则要高调的多。伴随着DirectX 9.0C的出现,Vertex Texture的出现对L2 Texture cache提出了实际的需求,在VertexShader单元外围布置L2 Texture cache成了显卡完整支持DirectX 9.0C的重要标志之一。NVIDIA在NV40中首次引入了L2 Texture cache,大小为128K,到G70时增加至288K。ATI则在R520中加入了完整的L2 Texture cache,并在R600中将其提升至256K。

GPU大百科全书第六章 谁也离不开的缓冲
引入L2 Texture cache的G70

  别看纹理缓存的作用表面跟CPU的多级cache相当,都是数据的临时告诉缓冲空间,甚至也分L1/L2两级,它最初的实际功能与操作方式却和原教旨的多级cache存在极大的区别,甚至可以说完全不同的。可以说最初的纹理缓存,只能用一片混乱来形容。

上一页 1 2 3 4 5 ...9 下一页
频道热词:华硕主板  Intel  AMD  
视觉焦点
NVIDIA GeForce GTX560Ti
    显卡评测热点
    排行 文章标题