惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
云风的 BLOG
云风的 BLOG
人人都是产品经理
人人都是产品经理
T
The Blog of Author Tim Ferriss
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
J
Java Code Geeks
博客园 - 聂微东
B
Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
WordPress大学
WordPress大学
腾讯CDC
L
LangChain Blog
Apple Machine Learning Research
Apple Machine Learning Research
Microsoft Azure Blog
Microsoft Azure Blog
D
DataBreaches.Net
The GitHub Blog
The GitHub Blog
美团技术团队
博客园 - Franky
Google DeepMind News
Google DeepMind News
V
V2EX
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
月光博客
月光博客
The Cloudflare Blog

博客园 - Dream world 梦想天空

逛街 解决电水壶烧水有异味 校园-秋 WinIO初始化失败的几个原因 Linux开发初探 Sourceforge怎么了? CUDA Intelisence [OSG]如何用Shader得到物体的世界坐标 OpenSceneGraph 2.4 安装包下载 GPU体素化初探 GPU GEM3 CD下载 GPU GEMS 3 EBOOK下载 DX10 DXUT用Nvidia PerfHUD 5.7的方法 查论文 gDebugger 3.1.1 原版+破解 又一个星期 搞定Server 2008蓝牙问题 今天回学校 2008-2-22,这么倒霉的一个日子~!
测试GPU的材质填充率
Dream world 梦想天空 · 2008-08-08 · via 博客园 - Dream world 梦想天空

  体渲染最重要的一个优化就是减少GPU的采样工作。测试GPU的材质填充率能够指导我们的工作。要知道为什么GPU在800*600的环境中只能达到12FPS么?这就要看GPU每秒钟采样的次数啦。

  我写了一个简单的OSG程序,用来测试采样次数,点击这里可以下载

  程序原理很简单,分几步:创建窗口->生成和设置纹理->载入SHADER->渲染。具体如何做要看程序里面啦,这里就不再贴出来了。

  直接说最后的测试的结果了。我的8800GTS(G80)官方资料说材质填充率能够达到24Billion/Sec,官方资料给的核心频率500Mhz,着色器频率1200Mhz,显存800Mhz。我将我的显卡也按照这个数据进行了降频。

  测试环境:窗口800*600,3D贴图256*256*256,数据是LUMINACE_ALPHA,每个像素2BYTE。每个像素的Shader采样3D贴图512次。

  最后得到测试FPS为11.98帧。算算:800*600*512*11.98=2,944,204,800,因为是3D纹理所以每个采样实际要有8次采样工作,所以最终的材质填充率:23,553,638,400,和24Billion/Sec很接近了。

  换用2D贴图可以得到相似的结果,只是FPS会快一倍。原因是三线性采样的工作量是二线性采样的两倍,很显然FPS会提升一倍。

  那么怎么去优化呢?下面做一些测试:

  1. 减小3D贴图的大小,以便尽可能的装到CACHE里面。直接设置为1*1*1,结果发现性能一样。
  2. 更换3D贴图的internal format为RGBA,发现性能一样。
  3. 超频:超核心,性能提升百分比和超频百分比几乎一样。超Shader,几乎没变化。超显存,几乎没变化。
  4. 降频:降核心,性能降低百分比和降频百分比几乎一样。降Shader,几乎没办法。降显存,一直降到400Mhz也没有变化。
  5. 降低每像素采样率:降低为256后,性能提升一倍,和预期一样。

  最终的结果很明显。3D贴图的采样已经成了整个系统的瓶颈,已经让显卡的贴图单元达到了极限。Shader处理器由于计算量很小,所以还很空闲。由于采样过滤的繁忙,贴图单元也不需要很大的显存带宽,所以显存的影响几乎没有。

   优化的措施:只能尽可能的减少采样次数,或者找更快的卡。目前看来只有G92的9800GTX或者8800GTS的采样率能够达到 43.2Billion/Sec以上,GTX280官方资料也只能达到48.2Billion/Sec,GTX260 36.9Billion/Sec。9800GX2能够达到76.8Billion/Sec,就是不知道实际SLI的性能能不能满足需要了。看来如何选择适 合体渲染的卡已经有一个理论和实际的指导了。