网站大量收购闲置独家精品文档,联系QQ:2885784924

chapter10-流水线优化.pdf

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chapter10-流水线优化

Chapter 10. Pipeline Optimization Chapter 10. Pipeline Optimization 流水线优化 流水线优化 金小刚 Email: jin @cad.zju.edu.cn 金小刚 Email: jin @cad.zju.edu.cn 浙江大学CADCG国家重点实验室 浙江大学CADCG国家重点实验室 简 介 简 介 “We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.” -Donald Knuth 绘制图象时,采用的是一个基于流水线的结构。 包含三个概念层:application, geometry, rasterizer. 流水线结构决定了其中最慢的一层永远是瓶颈, 也是我们优化中最应重视的。 优化绘制流水线与优化流水线处理器类似,主要 包含两步: (1). 找出流水线的瓶颈 (2). 优化该层。如果性能仍未达到要求,则重复 第一步。 瓶颈的位置是随不同帧动态变化的。在某一帧, 由于有大量的细小三角形需要绘制,几何层可能 是瓶颈;而在另一帧,由于三角形覆盖了屏幕的 大半部分,光栅化层可能变成瓶颈。 利用流水线构造的另一个要素 利用流水线构造的另一个要素 当最慢的层不能再优化时,则尽量让其它层满负 荷工作,直至速度接近最慢的层。 这不会改变系统的性能,因为最慢层的速度没有 变化。例如,假设应用层为瓶颈,耗时50毫秒, 其它层耗时25毫秒。这意味着在不改变绘制流水 线速度的情况下,几何和光栅化层可以充分利用 这50毫秒时间。我们可以采用更精致的光照明模 型、加入阴影、加入反射等来提高绘制的真实程 度。 把流水线划分成application, geometry and rasterizing三层只是概念上的划分。根据系统的 结构,真正的流水线层可能与此不同。例如,假 如应用层和几何层都在单个CPU上实现,则优化 时应把他们当成一个层来看待。 在优化流水线过程中,应先尽量提高绘制速度, 然后让不是瓶颈的层耗费与瓶颈层一样的时间。 在流水线优化时, 永远记住“Know Your Architecture” 。 找出瓶颈 找出瓶颈 优化过程是一个非常费时的过程,因此对图形流 水线中的每一层都进行优化是不合适的。 (1). 如果对每一层都进行优化,整个绘制性能肯 定能得到提高,但需要耗费程序员大量的时间, 并有可能对绘制精度进行不必要的折衷。 (2). 优化每一层的另一个缺点是我们不能确定流 水线中的哪些层不是瓶颈层。我们可以在不影响 整体性能的情况下,充分利用这些非瓶颈层来得 到更高的绘制质量。 优化流水线的第一步为找出瓶颈 优化流水线的第一步为找出瓶颈 对于任意给定的一帧,总是存在一个瓶颈,而这个瓶颈决定了 绘制的速度。我们的目的是查到这个瓶颈并消除它。 瓶颈不能简单地通过对进程计时来找到。因为这样得到的是从 绘制开始到结束,也即数据经过整个流水线的时间。 比较合理的方法为在源代码的某处开始计时(例如,在一清屏 操作之后),并在该位置下次被执行到时终止计时。这样我们 可以得到瓶颈层的执行时间,但并非瓶颈位置。 由于绘制一幅图象的总时间为瓶颈层的时间,而瓶颈可以是应 用

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档