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

Dophi's Technology Blog

享受知識(shí)共享帶來(lái)的愉快

3D圖形渲染通道負(fù)載優(yōu)化的幾種方法【轉(zhuǎn)】

 

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

一般在光柵化之前的瓶頸稱作”transform bound”, 三角形設(shè)置處理后的瓶頸稱作”fill bound”

定位瓶頸的辦法

1. 改變幀緩沖或者渲染目標(biāo)(Render Target)的顏色深度(16 到 32 位), 如果幀速改變了, 那么瓶頸應(yīng)該在這里.

2. 否則試試改變貼圖大小和貼圖過(guò)濾設(shè)置, 如果幀速變了,那么瓶頸應(yīng)該是在貼圖這里.

3. 否則改變分辨率.如果幀速改變了, 那么改變一下pixel shader的指令數(shù)量, 如果幀速變了, 那么瓶頸應(yīng)該就是pixel shader. 否則瓶頸就在光柵化過(guò)程中.

4. 否則, 改變頂點(diǎn)格式的大小, 如果幀速改變了, 那么瓶頸應(yīng)該在顯卡帶寬上.

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


優(yōu)化方法36條:

1. 盡量減少無(wú)用的頂點(diǎn)數(shù)據(jù), 比如貼圖坐標(biāo), 如果有Object使用2組有的使用1組, 那么不 要將他們放在一個(gè)vertex buffer中, 這樣可以減少傳輸?shù)臄?shù)據(jù)量.

2. 使用多個(gè)streamsource, 比如SkinMesh渲染, 可以把頂點(diǎn)坐標(biāo)和法線這些每一幀都要修改的數(shù)據(jù)放在一個(gè)動(dòng)態(tài)VB中, 其它不需要修改的(如貼圖坐標(biāo))放到一個(gè)靜態(tài)VB中, 這樣就減少了數(shù)據(jù)傳輸量.

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

4. 可以考慮使用vertex shader來(lái)計(jì)算靜態(tài)VB中的數(shù)據(jù).比如SkinMesh的頂點(diǎn)可以放到vectex shader中計(jì)算, 這樣就可以避免每一幀都從AGP內(nèi)存中向顯存?zhèn)魉蛿?shù)據(jù). 這樣也可以使用靜態(tài)VB了.

5. 堅(jiān)決避免使用Draw**UP一族的函數(shù)來(lái)繪制多邊形.

6. 在設(shè)計(jì)程序之前好好規(guī)劃一下顯卡內(nèi)存的使用, 確保framebuffer, 貼圖, 靜態(tài)VB能夠正好放入顯卡的本地內(nèi)存中.

7. 盡量使頂點(diǎn)格式大小是32字節(jié)的倍數(shù).可以考慮使用壓縮過(guò)的頂點(diǎn)格式然后用vertex shader去解. 或者留下冗余的部分, 使頂點(diǎn)大小剛好使32字節(jié)的倍數(shù).

8. 頂點(diǎn)在頂點(diǎn)緩沖中的順序盡量符合繪制的順序, 考慮使用strips來(lái)代替list.

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

10. 動(dòng)態(tài)VB使用DISCARD參數(shù)來(lái)lock更新, 使用NOOVERWRITE來(lái)添加.盡量不要使用不帶參數(shù)的lock調(diào)用(0)

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

12. 如果是因?yàn)樾枰L制的頂點(diǎn)數(shù)據(jù)太多了可以考慮使用LOD, 但是現(xiàn)在的顯卡的繪制能力都很強(qiáng)勁, 所以需要權(quán)衡一下LOD是否能夠帶來(lái)相應(yīng)的好處, 如果過(guò)分的強(qiáng)化LOD很可能將瓶頸轉(zhuǎn)移到CPU這邊.

13. 避免過(guò)多的頂點(diǎn)計(jì)算,比如過(guò)多的光源, 過(guò)于復(fù)雜的光照計(jì)算(復(fù)雜的光照模型), 紋理自動(dòng)生成的開(kāi)啟也會(huì)增加頂點(diǎn)的計(jì)算量. 如果貼圖坐標(biāo)變換矩陣不是單位矩陣, 也會(huì)造成頂點(diǎn)計(jì)算量的增加, 所以如果紋理變換已經(jīng)結(jié)束, 記得要將紋理變換矩陣設(shè)為單位矩陣同時(shí)調(diào)整貼圖坐標(biāo).

14. 避免Vertex shader指令數(shù)量太多或者分支過(guò)多, 盡量減少vertex shader的長(zhǎng)度和復(fù)雜程度. 盡量使用swizzling代替mov

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

16. 盡量按照f(shuō)ront – back的順序來(lái)繪制.

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

18. 如果可能, 盡量使用vertex shader來(lái)代替pixel shader.將計(jì)算從逐象素變成逐頂點(diǎn).

19. 盡量降低貼圖的大小.過(guò)大的貼圖可能造成貼圖cache過(guò)載, 從而導(dǎo)致貼圖cache命中降低.過(guò)大的貼圖會(huì)導(dǎo)致顯存過(guò)載, 這時(shí)候貼圖是從系統(tǒng)內(nèi)存中取的.

20. 只要可能就用16位色的貼圖, 如環(huán)境貼圖或者shadow map.它們用32位色的貼圖實(shí)在是浪費(fèi).

21. 考慮使用DXT 貼圖壓縮

22. 如果可能,使用簡(jiǎn)單的貼圖過(guò)濾或者mip map, 除非必要否則盡量不要使用三線過(guò)濾和各項(xiàng)異性過(guò)濾. light map 和 環(huán)境貼圖基本上都不需要使用它們.

23. 只有真正需要修改的貼圖才使用Dynamic, 并且使用DISCRAD和WRITEONLY來(lái)lock

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

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

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

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

28. Stencil 和 Z buffer 盡量一起clear. 他們本來(lái)就是一塊緩沖.

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

30. 盡量使用shader來(lái)代替Fixed Pipeline.

31. 盡量使用shader來(lái)實(shí)現(xiàn)來(lái)取代Multipass渲染效果.

32. 盡量?jī)?yōu)先先建立重要的資源, 如Render target, shaders, 貼圖, VB, IB等等.以免顯存過(guò)載的時(shí)候它們被創(chuàng)建到系統(tǒng)內(nèi)存中.

33. 堅(jiān)決不要在渲染循環(huán)中調(diào)用創(chuàng)建資源

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

35. Color Stencil Z buffer盡量在一次Clear調(diào)用中清除.

36. 一個(gè)Vertex buffer 的大小在2M-4M之間最好.

posted on 2009-01-23 09:42 dophi 閱讀(1134) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美激情综合| 日韩视频免费观看| 欧美福利电影网| 久久精品国产视频| 欧美激情亚洲自拍| 欧美影视一区| 久久国产精品一区二区三区| 欧美一区二区三区四区视频 | 欧美在线黄色| 久久亚洲图片| 亚洲第一综合天堂另类专| 欧美成人有码| 在线一区观看| 久久另类ts人妖一区二区| 欧美aa国产视频| 国产精品卡一卡二| 伊人久久av导航| 亚洲一级网站| 欧美激情片在线观看| 亚洲网站在线看| 蜜臀久久99精品久久久画质超高清 | 久久综合亚洲社区| 欧美日韩一区二区三区在线观看免| 国产精品久久久久高潮| 亚洲激情视频网站| 久久精品日产第一区二区| 欧美成人日韩| 欧美一区不卡| 欧美性猛交xxxx免费看久久久| 亚洲第一黄色网| 久久精品国亚洲| 亚洲视频国产视频| 欧美极品在线视频| 18成人免费观看视频| 欧美一激情一区二区三区| 最新日韩在线视频| 久久久久国产精品人| 国产欧美一区二区视频| 亚洲一区免费视频| 亚洲精品久久久久久久久| 久久夜精品va视频免费观看| 国产有码在线一区二区视频| 欧美一区二区三区视频免费播放| 亚洲精品久久久久久久久久久久| 老牛国产精品一区的观看方式| 国产裸体写真av一区二区| 欧美午夜不卡影院在线观看完整版免费| 久久综合影音| 亚洲综合首页| 国产精品国产三级欧美二区| 夜夜爽99久久国产综合精品女不卡| 久久欧美中文字幕| 亚洲一区一卡| 欧美国产专区| 激情久久综艺| 久热国产精品| 久久9热精品视频| 精品999日本| 久久一本综合频道| 欧美与黑人午夜性猛交久久久| 国产精品麻豆成人av电影艾秋| 亚洲在线一区| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 欧美一区二区视频免费观看| 亚洲无亚洲人成网站77777| 国产精品久久亚洲7777| 亚洲综合日韩在线| 亚洲一区二区三区在线看| 国产精品你懂的在线| 亚洲欧洲av一区二区| 亚洲一区二区视频在线| 国产精品腿扒开做爽爽爽挤奶网站| 午夜精品视频| 久久av一区| 亚洲丶国产丶欧美一区二区三区| 老司机精品视频一区二区三区| 久久亚洲欧美国产精品乐播| 亚洲精品网站在线播放gif| 亚洲精品在线视频观看| 国产精品入口| 久久久久免费观看| 欧美黑人多人双交| 午夜精品久久| 久久野战av| 亚洲伊人网站| 久久精品亚洲一区二区三区浴池| 91久久在线观看| 亚洲午夜视频| 18成人免费观看视频| 在线中文字幕日韩| 在线播放日韩| 国产精品99久久久久久久女警 | 亚洲在线一区二区| 国内精品久久久| 亚洲激情一区| 国产亚洲美州欧州综合国| 久久中文精品| 欧美日韩国产一级| 久久久亚洲一区| 欧美另类一区| 噜噜噜在线观看免费视频日韩 | 久久久久久网站| 欧美福利视频一区| 小处雏高清一区二区三区| 久久亚洲私人国产精品va媚药 | 一区二区三区欧美| 久久狠狠一本精品综合网| 一区二区三区视频观看| 久久精品中文字幕一区| 99在线视频精品| 久久久夜精品| 久久av一区二区三区| 欧美劲爆第一页| 欧美国产欧美亚州国产日韩mv天天看完整| 国产精品久久久久av| 亚洲人成网站在线观看播放| 国产在线观看一区| 亚洲免费一级电影| 在线亚洲免费| 欧美劲爆第一页| 亚洲国产精品成人精品| 伊人久久久大香线蕉综合直播 | 国产精品日产欧美久久久久| 91久久极品少妇xxxxⅹ软件| 在线观看av不卡| 欧美一区二区三区精品 | 日韩亚洲精品在线| 久久久一区二区三区| 久久福利影视| 国产欧美日韩精品a在线观看| 国产精品99久久久久久有的能看| 亚洲性视频网站| 欧美视频福利| 艳女tv在线观看国产一区| 一本色道久久| 欧美日韩理论| 正在播放亚洲| 欧美影视一区| 精品99视频| 欧美va天堂| 亚洲精品久久嫩草网站秘色| 亚洲私人影院| 国产精品一二三| 久久激五月天综合精品| 免费亚洲一区二区| 99视频一区二区| 国产精品毛片va一区二区三区| 午夜国产一区| 欧美高清你懂得| 在线一区欧美| 国产日韩在线看| 欧美成人激情在线| 亚洲精品乱码| 久久激情视频久久| 亚洲国产一区视频| 欧美日韩三区| 久久精品青青大伊人av| 欧美激情黄色片| 亚洲最新色图| 国产亚洲人成a一在线v站| 久久影院午夜论| 99re成人精品视频| 久久激情视频| 亚洲免费电影在线| 亚洲国产经典视频| 日韩午夜精品| 国产精品爽黄69| 久久久久久久久久久久久9999| 亚洲黄网站在线观看| 性娇小13――14欧美| 亚洲国产精品999| 国产精品成人一区| 久久久蜜桃一区二区人| 亚洲免费观看高清在线观看| 久久精品99无色码中文字幕 | 国产欧美日韩一级| 欧美精品色综合| 欧美一站二站| 亚洲天堂av在线免费观看| 欧美黄污视频| 久久成人18免费观看| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产日韩精品视频一区| 欧美日韩国产一区二区| 久久久久久亚洲精品中文字幕| 一区二区三区你懂的| 欧美激情自拍| 理论片一区二区在线| 午夜欧美大片免费观看 | 亚洲欧美国产制服动漫| 最新国产の精品合集bt伙计| 国产模特精品视频久久久久| 欧美日本韩国在线| 久久综合影视| 久久久人成影片一区二区三区 | 国产伦精品一区二区三区视频孕妇 | 在线观看欧美日韩国产| 国产欧美日本一区二区三区| 国产精品a久久久久久| 欧美精品一区在线发布|