zoukankan      html  css  js  c++  java
  • 图形渲染-像素填充率、内存带宽

    像素填充率-Fill rate

    • GPU每秒可以渲染到屏幕的像素数量。(估计公式:填充率 = 总像素数 x Shader复杂度 x Overdraw)
      如果我们的游戏受到填充率的限制,那么说明我们的游戏每一帧输出到屏幕的像素数量超过了GPU的承载限度。

    • 要检查是否是 填充率 导致的GPU瓶颈方式很简单,
      运行游戏,在Profiler窗口观察GPU的效率
      减小Game窗口的尺寸达到降低窗口分辨率的效果
      再运行游戏,观察GPU的效率,如果游戏的表现提升了,那么很可能就是填充率导致的问题。
      Unity 最新的[官方文档](Unity - Manual: Optimizations)也介绍了这个公式,并告诉大家一个评估是否填充率受限的方法:
      game run faster if you decrease the display resolution? If yes, you are limited by fillrate.

    • 确定了是填充率导致的,我们可以通过以下几个方面来进行优化:
      片元着色器(Fragment Shader)是shader代码块中告诉GPU该如何逐像素渲染的部分,这部分代码是由GPU来执行的,并且每一个像素都会被计算。复杂的片元着色器代码常常是引起填充率问题的根源。

    显存带宽-Memory bandwidth

    • 显存带宽指的是GPU可以读取和写入的速率。
      如果遇到显存带宽的问题,常常是由于我们使用了非常大的纹理以至于GPU无法快速的处理它。

    • 如果检查是否是显存带宽的问题,我们可以参考以下步骤:
      运行游戏并关注GPU的性能情况
      减少纹理的精度,并且可以在Quality Settings中进行相关设置。
      再次运行游戏并且关注GPU的性能情况

  • 相关阅读:
    架构师最怕程序员知道的10件事
    利用php制作简单的文本式留言板
    Jmeter之查看结果树
    Jmeter之循环控制器
    Jmeter之HTTP常用配置元件(默认、头信息和cookies)
    Jmeter之线程组(Stepping和Ultimate)
    Jmeter之插件安装
    Jmeter之线程组(默认)
    Jmeter之测试计划
    Jmeter之安装和配置
  • 原文地址:https://www.cnblogs.com/Jaysonhome/p/13086720.html
Copyright © 2011-2022 走看看