体渲染最重要的一个优化就是减少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的性能能不能满足需要了。看来如何选择适 合体渲染的卡已经有一个理论和实际的指导了。

  

测试GPU的材质填充率相关推荐

  1. Github | 如何用Python测试GPU与CPU计算性能

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟  报道  | 公众号 CVLianMeng 转载于 :https://githu ...

  2. tensorflow测试GPU可用

    因为自己在实现yolo5的过程中其中所需要的的环境是cuda10.1但是在之前安装的是10.0,所以只有自己折腾一下.但是cuda10.1貌似很难安装tensorflow1.X版本,在查阅资料并亲测过 ...

  3. 基于 NXP iMX8X 测试 GPU FFT 运算

    By Toradex胡珊逢 1). 简介 伴随着 4G 网络的大范围覆盖,已经即将到来的 5G 网络,边缘计算越来越多地开始进入人们的视野.相比于云计算的云端集中处理,边缘计算能够就地进行复杂数据的计 ...

  4. 笔记本电脑安装cuda10.2并使用pycuda、xgboost测试GPU计算效率(附Colab, Kaggle, BaiduAIStudio性能测试对比)

    硬件配置: 机型:机械革命s1,2018年 CPU:i7-8550U GPU:Nvidia Geforce MX150(满血版),2G显存 内存:单条16g (自己更换的) 软件信息: CUDA:v1 ...

  5. 毕设日志——配置服务器与测试gpu版本的tf faster rcnn代码

    4号拿到服务器的账号密码,先开始折腾服务器怎么用. 2019.4.4 下载DokanSetup1.0.5和WinSSHFS1.6.1.13 安装 打开WinSSHFS 取名字Drive Name对应本 ...

  6. android gpu测试,Android下的性能测试

    ◆ Android平台下的性能测试 Android平台下Intel提供的是一个pre-btea版的4.2.2系统,还不是太稳定,不过可以跑测试,Intel表示在最终达到与Windows平台相等的性能之 ...

  7. gpu服务器压力测试方法,如何用Furmark对GPU进行压力测试?

    有很多工具可以在Windows 10中对显卡或GPU进行基准测试.如果您的系统超频,我们建议使用Heaven基准测试或3DMark之类的工具,看看超频是否在所需的温度下获得所需的帧速率. FurMar ...

  8. GPU测试单张图片时间过长

    为什么在测试GPU和CPU的速度的时候会出现GPU反而比CPU慢的 我之前为了测试resnext101网络在CPU和GPU上的单张图片测试程序 很显然不对啊,后来我发现,GPU在刚启动测试第一张图片, ...

  9. 服务器终端性能测试之GPU burn压力测试

    GPU burn 测试GPU 1.下载软件 wget https://codeload.github.com/wilicc/gpu-burn/zip/master 2.解压缩 unzip gpu-bu ...

最新文章

  1. 推荐8个令人骄傲的国产软件,改变你对国产的认知
  2. 可视化的Redis数据库管理工具redis-desktop-manager的初步使用(图文详解)
  3. docke容器无法访问宿主主机的端口
  4. BUAA - Team Review Score
  5. 隐藏文件或文件夹属性无法修改解决方案
  6. dispatcher在java中什么含义_java-我可以使用在DispatcherServlet上下文中声...
  7. SpringMVC中异常捕获
  8. IEnumerable.Select和SelectMany的区别
  9. 查看sqlserver2008数据库服务器实例名称
  10. Gocloud高恪固件CVE-2020-8949漏洞利用打开SSH(poc支持5.2最新版测试通过)
  11. 新冠疫情全球数据可视化
  12. 搜狗蜘蛛池快速提升蜘蛛收录排名
  13. 手机浏览器onclick事件不能跳转页面
  14. 远程桌面“无法验证此计算机的身份“
  15. 计算机女学霸,邹楚杭:计算机学院走出来的才女学霸
  16. 开源机器人【01】 - 积木编程软件OpenBlock(类似scratch)
  17. 大数据治理平台建设与应用解决方案
  18. java学习第八天继承,抽象类,接口
  19. Android 9.0 IMS通话流程
  20. Excel函数的使用

热门文章

  1. “你的手机上未安装应用程序”的解决方案
  2. oracle数据库行争用,Oracle技术之数据库高回滚争用的问题
  3. mysql+地图网格数据下载_echarts 中国各省市 echarts地图数据,含世界地图
  4. aspose 换行写_aspose.word 换行符 aspose.words换行符
  5. 怎么配置iptv服务器信息,请配置iptv服务器信息
  6. 计算机科学英文杂志,Journal of Computer Science Technology
  7. php视频流传输,视频流传输协议RTP/RTCP/RTSP/HTTP的区别
  8. (10) nginx 统计模块安装使用和优化
  9. Tomcat监控xml ,当修改xml后,不用重启tomcat
  10. 一位资深程序员的成长故事