青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

麒麟子

~~

導航

<2013年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

統計

常用鏈接

留言簿(12)

隨筆分類

隨筆檔案

Friends

WebSites

積分與排名

最新隨筆

最新評論

閱讀排行榜

評論排行榜

優化3D圖形渲染通道負載

優化3D圖形渲染通道負載

http://www.itjiaocheng.com/jiaocheng/pingmiansheji/AutoCAD/texiaojiqiao/2009/0520/23435.html

  

一般來說, 定位渲染通道瓶頸的方法就是改變渲染通道每個步驟的工作量, 如果吞吐量也改變了, 那個步驟就是瓶頸.。找到了瓶頸就要想辦法消除瓶頸, 可以減少該步驟的工作量, 增加其他步驟的工作量。

   一般在光柵化之前的瓶頸稱作”transform bound”, 三角形設置處理后的瓶頸稱作”fill bound”定位瓶頸的辦法:

   1.改變幀緩沖或者渲染目標(Render Target)的顏色深度(16 到32 位), 如果幀速改變了, 那么瓶頸應該在幀緩沖(RenderTarget)的填充率上。

   2.否則試試改變貼圖大小和貼圖過濾設置, 如果幀速變了,那么瓶頸應該是在貼圖這里。

   3.否則改變分辨率.如果幀速改變了, 那么改變一下pixel shader的指令數量, 如果幀速變了, 那么瓶頸應該就是pixel shader. 否則瓶頸就在光柵化過程中。

   4.否則, 改變頂點格式的大小, 如果幀速改變了, 那么瓶頸應該在顯卡帶寬上。

   5.如果以上都不是, 那么瓶頸就在CPU這一邊。

   優化方法36條:

   1.盡量減少無用的頂點數據, 比如貼圖坐標, 如果有Object使用2組有的使用1組, 那么不 要將他們放在一個vertex buffer中, 這樣可以減少傳輸的數據量。

   2.使用多個streamsource, 比如SkinMesh渲染, 可以把頂點坐標和法線這些每一幀都要修改的數據放在一個動態VB中, 其它不需要修改的(如貼圖坐標)放到一個靜態VB中, 這樣就減少了數據傳輸量。

   3.盡量使用16位的索引緩沖,避免32位的. 一方面浪費帶寬, 一方面也不是所有的顯卡都支持32位的索引緩沖。

   4.可以考慮使用vertex shader來計算靜態VB中的數據.比如SkinMesh的頂點可以放到vectex shader中計算, 這樣就可以避免每一幀都從AGP內存中向顯存傳送數據. 這樣也可以使用靜態VB了。

   5.堅決避免使用Draw**UP一族的函數來繪制多邊形。

   6.在設計程序之前好好規劃一下顯卡內存的使用, 確保framebuffer, 貼圖, 靜態VB能夠正好放入顯卡的本地內存中。

   7.盡量使頂點格式大小是32字節的倍數.可以考慮使用壓縮過的頂點格式然后用vertex shader去解. 或者留下冗余的部分, 使頂點大小剛好使32字節的倍數。

   8.頂點在頂點緩沖中的順序盡量符合繪制的順序, 考慮使用strips來代替list。

   9.如果可能盡量多的使用static vertex buffer代替dynamic vertex buffer。

   10.動態VB使用DISCARD參數來lock更新, 使用NOOVERWR99vE來添加.盡量不要使用不帶參數的lock調用(0)。

   11.盡量減少lock的次數, 有些東西并不一定非要每一幀都更新VB, 比如人物動畫一般每秒鐘更新30次VB基本上就夠了。

   12.如果是因為需要繪制的頂點數據太多了可以考慮使用LOD, 但是現在的顯卡的繪制能力都很強勁, 所以需要權衡一下LOD是否能夠帶來相應的好處, 如果過分的強化LOD很可能將瓶頸轉移到CPU這邊。

   13.避免過多的頂點計算,比如過多的光源, 過于復雜的光照計算(復雜的光照模型), 紋理自動生成的開啟也會增加頂點的計算量. 如果貼圖坐標變換矩陣不是單位矩陣, 也會造成頂點計算量的增加, 所以如果紋理變換已經結束, 記得要將紋理變換矩陣設為單位矩陣同時調整貼圖坐標。

   14.避免Vertex shader指令數量太多或者分支過多, 盡量減少vertex shader的長度和復雜程度. 盡量使用swizzling代替mov。

   15.如果圖象質量方面的計算(pixel shader)范圍很大, 并且很復雜, 可以考慮試試全屏反走樣。說不定更快。

   16.盡量按照front – back的順序來繪制。

   17.在shader中判斷Z值可以避免繪制不可見的象素, 但是nvidia建議簡單的shader不要這么做.(Don't do this in a simple shader)。

   18.如果可能, 盡量使用vertex shader來代替pixel shader.將計算從逐象素變成逐頂點。

   19.盡量降低貼圖的大小.過大的貼圖可能造成貼圖cache過載, 從而導致貼圖cache命中降低.過大的貼圖會導致顯存過載, 這時候貼圖是從系統內存中取的。

   20.只要可能就用16位色的貼圖, 如環境貼圖或者shadow map.它們用32位色的貼圖實在是浪費。

   21.考慮使用DXT 貼圖壓縮。

   22.如果可能,使用簡單的貼圖過濾或者mip map, 除非必要否則盡量不要使用三線過濾和各項異性過濾. light map 和環境貼圖基本上都不需要使用它們。

   23.只有真正需要修改的貼圖才使用Dynamic, 并且使用DISCRAD和WR99vEONLY來lock。

   24.太多的幀緩沖讀寫可以考慮關閉Z-Writes如有些多pass的渲染中的后續pass或者粒子系統等半透明幾何物體(如果可以)。

   25.可能的話盡量使用alpha test代替alpha blending。

   26.如果不需要stencil buffer就盡量使用16位的Z buffer。

   27.減小RenderTarget 貼圖的大小, 如shadow map 環境貼圖. 可能根本不需要那么大效果就很好。

   28.Stencil 和Z buffer 盡量一起clear. 他們本來就是一塊緩沖。

   29.盡量減少渲染狀態的切換, 盡量一次畫盡可能多的多邊形。(根據顯卡性能決定最多畫多少, 不過一般再多也不會多到哪里去。 除非你根本不需要貼圖和渲染狀態的切換)。

   30.盡量使用shader來代替Fixed Pipeline。

   31.盡量使用shader來實現來取代Multipass渲染效果。

   32.盡量優先先建立重要的資源, 如Render target, shaders, 貼圖, VB, IB等等.以免顯存過載的時候它們被創建到系統內存中。

   33.堅決不要在渲染循環中調用創建資源。

   34.按照shader和貼圖分組后再渲染.先按照shaders分組再按貼圖。

   35.Color Stencil Z buffer盡量在一次Clear調用中清除。

   36.一個Vertex buffer 的大小在2M-4M之間最好。(中國軟件)

posted on 2010-01-29 13:43 麒麟子 閱讀(1291) 評論(0)  編輯 收藏 引用 所屬分類: GPU and Graphic

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一区二区三区视频免费在线观看| 亚洲国产高清高潮精品美女| 国产精品夜夜夜| 欧美日韩一区二区在线观看视频| 久久综合国产精品| 亚洲欧美成aⅴ人在线观看| 欧美二区在线播放| 欧美激情一区二区三区在线视频观看| 免费观看不卡av| 久久欧美中文字幕| 蜜桃av一区二区| 亚洲国产视频a| 亚洲视频在线二区| 99re66热这里只有精品4| 欧美日韩蜜桃| 欧美性色综合| 国产无遮挡一区二区三区毛片日本| 国产精品日本精品| 影院欧美亚洲| 一区二区三区国产在线观看| 性欧美video另类hd性玩具| 久久精品91| 亚洲三级观看| 久久精品官网| 欧美系列亚洲系列| 亚洲高清视频一区| 先锋资源久久| 亚洲电影免费观看高清完整版| 亚洲免费av网站| 久久久久久久网站| 国产精品日本精品| 国产日韩欧美视频在线| 欧美在线观看www| 奶水喷射视频一区| 国产精品美女午夜av| 1024成人| 欧美在线综合| av成人激情| 欧美电影免费观看| 极品少妇一区二区三区精品视频| 亚洲午夜久久久久久久久电影院| 久久久高清一区二区三区| 亚洲精品乱码久久久久久久久| 欧美影院成年免费版| 欧美视频三区在线播放| 亚洲二区在线视频| 久久精品国产91精品亚洲| 亚洲狼人综合| 美国十次了思思久久精品导航| 亚洲欧美日韩久久精品| 久久久久久久999| 国产精品国码视频| 亚洲啪啪91| 免费成人性网站| 久久精品国产一区二区三区免费看 | 午夜精品影院在线观看| 亚洲日本激情| 久久综合色播五月| 欧美亚洲一区二区三区| 国产精品欧美日韩| 亚洲欧美日韩精品综合在线观看| 99视频超级精品| 欧美日韩国产一区二区| 亚洲免费黄色| 欧美不卡在线| 亚洲美女在线国产| 欧美大片网址| 日韩午夜三级在线| 亚洲电影在线播放| 欧美高清在线视频| 亚洲国产高清一区二区三区| 久久全球大尺度高清视频| 午夜国产精品视频| 国产欧美一区二区三区另类精品| 午夜精品久久久| 中文亚洲欧美| 国产乱码精品1区2区3区| 西西裸体人体做爰大胆久久久 | 乱人伦精品视频在线观看| 一区二区视频免费完整版观看| 日韩午夜中文字幕| 精久久久久久| 先锋资源久久| 欧美一区二区三区婷婷月色| 国产精品一级二级三级| 久久成人精品视频| 久久久久天天天天| 亚洲免费成人av| 中日韩美女免费视频网址在线观看| 国产精品视频yy9099| 噜噜噜噜噜久久久久久91| 欧美精品一区二区蜜臀亚洲 | 在线电影一区| 亚洲精品一区二区三区蜜桃久| 欧美午夜无遮挡| 老司机67194精品线观看| 欧美日韩免费观看中文| 久久影视精品| 欧美午夜一区二区| 欧美大片网址| 国产嫩草影院久久久久| 欧美成人有码| 国产精品午夜视频| 亚洲精品黄网在线观看| 国内精品久久久久影院色| 亚洲人成免费| 在线免费不卡视频| 亚洲一区二区三区777| 欧美在线观看www| 欧美成人精品福利| 欧美一区二区三区在线视频 | 国产精自产拍久久久久久蜜| 欧美激情精品久久久久久| 国产精品欧美经典| 亚洲国产你懂的| 精品1区2区3区4区| 欧美一级片在线播放| 亚洲一区二区视频在线| 欧美99久久| 欧美jizzhd精品欧美巨大免费| 国产精品入口日韩视频大尺度| 亚洲国产成人不卡| 国产亚洲欧美激情| 午夜精品视频| 欧美一级网站| 国产精品www| 日韩亚洲欧美中文三级| 亚洲乱码一区二区| 欧美国产日本高清在线| 免费成人小视频| 一区精品在线| 久久三级视频| 欧美国产成人精品| 精品成人在线| 久久精品国产亚洲精品| 久久久99免费视频| 国产自产精品| 久久久久国色av免费观看性色| 久久高清福利视频| 国语自产偷拍精品视频偷| 欧美成年视频| 国内自拍亚洲| 欧美在线啊v| 久久精品五月婷婷| 国产一区深夜福利| 久久精品二区三区| 久热成人在线视频| 亚洲第一在线视频| 美女亚洲精品| 亚洲黄色视屏| 日韩亚洲不卡在线| 欧美午夜免费影院| 午夜性色一区二区三区免费视频| 久久精品视频99| 永久免费精品影视网站| 狂野欧美一区| 亚洲国产精品国自产拍av秋霞 | 老司机精品视频一区二区三区| 欧美在线首页| 欧美激情一区二区三区在线视频观看| 久久免费精品日本久久中文字幕| 国产午夜精品久久久久久久| 午夜在线精品| 免费成人小视频| 一区二区三区|亚洲午夜| 欧美日韩理论| 午夜精品久久久久久久白皮肤 | 免费观看日韩| 亚洲另类自拍| 国产精品一区二区三区四区五区| 欧美在线日韩在线| 亚洲黄色三级| 久久精品免费看| 日韩视频不卡中文| 国产一本一道久久香蕉| 欧美精品午夜视频| 欧美在线视频免费| 一区二区三区精密机械公司| 麻豆成人在线| 亚洲区在线播放| 美日韩精品免费| 有码中文亚洲精品| 欧美日韩国产三区| 香蕉国产精品偷在线观看不卡| 蜜桃精品一区二区三区| 一区二区三区日韩精品视频| 国产欧美日韩在线播放| 欧美成人蜜桃| 久久疯狂做爰流白浆xx| 欧美日韩久久不卡| 久久久亚洲成人| 亚洲欧美国产高清| 美女成人午夜| 亚洲欧美日韩在线高清直播| 狠狠色丁香婷婷综合影院| 欧美日韩免费在线| 久久夜色精品国产噜噜av| 亚洲伊人网站| 亚洲精品日韩在线观看| 久久亚洲春色中文字幕久久久|