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

永遠也不完美的程序

不斷學習,不斷實踐,不斷的重構……

常用鏈接

統計

積分與排名

好友鏈接

最新評論

D3D性能優化(轉)

出處:http://blog.csdn.net/compiler/archive/2009/03/10/3975239.aspx
常規技巧

1 只在必須的時候Clear。
   IDirect3DDevice9::Clear函數通常需要花費較多的時間,因此要盡量少調用,而且只清空的確需要清空的緩存。

2 盡量減少狀態切換。并且將需要進行的狀態切換組合在一起設置。
   狀態包括RenderState,SamplerState,TextureStageState等

3 紋理尺寸盡可能小

4 從前至后渲染場景中的對象
   從前至后渲染可以盡可能早地精選出不需要繪制的對象和象素

5 使用三角條帶代替三角列表和三角扇。為了能更有效利用頂點高速緩存(cache),在排列條帶時因考慮盡快重用頂點。

6  根所需要據消耗的系統資源來逐步減少特效。

7 經常性地檢測程序的性能。
   這樣可以更容易發現引起性能突變的部分

8 最小化頂點緩存的切換

9 盡可能使用靜態頂點緩存

10 對靜態對象,對每種FVF使用一個大的靜態頂點緩存來保存多個對象的頂點數據,而不是每個對象使用一個頂點緩存。
   其目的也是減少頂點緩存的切換

11 如果程序需要隨機訪問AGP內存中的頂點緩存,頂點格式的大小最好是32bytes的倍數。否則,選擇合適的最小的格式。
32bytes 也就是8個float數據或2個vector4。

12 使用頂點索引方式渲染,這樣可以更有效利用頂點高速緩存。

13 如果深度緩存格式中包含有模版緩存,總是將兩者一起Clear。

14 將計算結果和輸出的shader指令合并:
// Rather than doing a multiply and add, and then output the data with
//   two instructions:
mad r2, r1, v0, c0
mov oD0, r2

// Combine both in a single instruction, because this eliminates an
//   additional register copy.
mad oD0, r1, v0, c0

建立一個場景對象的數據庫,首先使用最低精度的模型,在保證性能的前提下逐步使用更高精度的模型。密切關注渲染的總的三角面數。

將使用相同渲染狀態和貼圖的圖元集中在一起繪制,這樣能盡量減少頂點緩存和狀態的切換。并且將狀態切換操作集中成一組設置。

盡量減少光源數量,使用環境光來提高亮度。方向光源比點光源和聚光燈更高效,因為光的方向是固定的。使用光照范圍參數來剔除不受光照影響的物體。鏡面高光幾乎使光照計算量加倍,因此只在需要時使用,將D3DRS_SPECULARENABLE設為FALSE,將材質的specular power 設為0,將材質的specular color 設為0。

盡量減小紋理尺寸,這樣可以增加紋理被緩存的可能性。盡量減少紋理的切換,將使用同一紋理的對象集中繪制。盡量使用正方形紋理。最快的紋理是256×256,將4張128×128的紋理拼接成256×256使用。

連接World-View Matrix, 將ViewMatrix設為Identity減少矩陣乘法運算。

動態紋理。首先要檢查D3DCAPS2_DYNAMICTEXTURES來判斷硬件是否支持。
其二,動態紋理不能放在MANAGED pool中。動態紋理總是能鎖定,甚至是在D3DPOOL_DEFAULT中。D3DLOCK_DISCARD是合法的。
DrawProceduralTexture(pTex)
{
    // pTex should not be very small because overhead of
    //   calling driver every D3DLOCK_DISCARD will not
    //   justify the performance gain. Experimentation is encouraged.
    pTex->Lock(D3DLOCK_DISCARD);
    <Overwrite *entire* texture>
    pTex->Unlock();
    pDev->SetTexture();
    pDev->DrawPrimitive();
}

當需要在每幀里鎖定頂點或索引緩存是,應該使用動態緩存(D3DUSAGE_DYNAMIC)。對動態緩存使用D3DLOCK_DISCARD鎖定能減少延遲。D3DLOCK_NOOVERWRITE鎖定可以用于在緩存空閑處添加新的數據而不修改已經寫入的數據。

使用Effect時,應該根據Effect,然后根據Technique來安排渲染順序,也就是使用相同Effect和Technique的物體應該集中繪制。這樣可以減少狀態切換開銷。

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/compiler/archive/2009/03/10/3975239.aspx

posted on 2009-06-30 08:50 狂爛球 閱讀(1107) 評論(0)  編輯 收藏 引用 所屬分類: 圖形編程

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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级| 欧美成人免费全部观看天天性色| 亚洲精品视频一区二区三区| 国产麻豆9l精品三级站| 欧美日产一区二区三区在线观看| 香蕉久久夜色| 欧美激情在线狂野欧美精品| 欧美精品尤物在线| 欧美日韩一区视频| 国产一区二区欧美日韩| 亚洲欧洲日产国产网站| 日韩视频永久免费| 欧美一区二区视频在线观看2020| 久久av资源网| 亚洲高清免费视频| 日韩亚洲欧美高清| 欧美一区国产在线| 欧美国产综合视频| 亚洲精品一区二| 亚洲色图在线视频| 久久综合给合久久狠狠色 | 亚洲一区久久久| 久久精品国产在热久久| 久久久水蜜桃av免费网站| 久久亚洲国产成人| 亚洲一区二区四区| 日韩一区二区免费高清| 亚洲精品国产精品久久清纯直播| 国产精品久久久久一区二区三区共 | 激情综合色综合久久| 亚洲国产精品第一区二区三区| 日韩一级裸体免费视频| 欧美一区二区三区免费视频| 亚洲高清一区二| 性感少妇一区| 国内外成人免费激情在线视频网站| 亚洲精品网址在线观看| 欧美**字幕| 麻豆精品在线视频| 亚洲国产第一| 欧美黑人在线观看| 免费日韩一区二区| 99re66热这里只有精品4| 免费欧美在线| 欧美黄色免费| 亚洲欧美日韩精品久久久久| aa级大片欧美| 国产亚洲精品久| 欧美激情第8页| 欧美视频你懂的| 蜜桃av久久久亚洲精品| 激情文学综合丁香| 欧美高清在线一区二区| 欧美三区在线视频| 欧美一区二区三区四区在线观看地址 | 欧美日韩一区二区三区免费看| 亚洲美女在线观看| 亚洲午夜高清视频| 亚洲第一天堂无码专区| 在线亚洲欧美视频| 亚洲国产欧洲综合997久久| 日韩午夜视频在线观看| 精品88久久久久88久久久| 亚洲精品视频在线观看免费| 国产精品久久久久久久浪潮网站| 久久精品国产视频| 国产精品国产a级| 亚洲大胆人体在线| 国产婷婷色一区二区三区在线| 欧美α欧美αv大片| 国产日韩欧美三级| 亚洲女同同性videoxma| 国产精品99久久99久久久二8| 久久天天躁夜夜躁狠狠躁2022| 亚洲影院污污.| 国产精品电影观看| 亚洲日本欧美| 99精品免费视频| 欧美激情bt| 夜夜精品视频| 亚欧美中日韩视频| 国产精品视频内| 亚洲欧美日韩国产综合| 欧美综合激情网| 国产婷婷色一区二区三区四区| 一个色综合av| 欧美极品一区| 亚洲视频在线一区观看| 欧美伊人久久大香线蕉综合69| 国产乱码精品一区二区三区不卡| 午夜精品久久久久久久久久久| 久久国产精品毛片| 亚洲国产另类精品专区| 欧美日韩精品一二三区| 亚洲欧美综合网| 91久久久久久久久| 欧美专区在线| 亚洲精品在线电影| 亚洲高清视频一区二区| 欧美成人激情视频免费观看| 国产一区视频在线观看免费| 国产精品99久久久久久久vr | 久久av资源网站| 久久美女性网| 欧美日韩91| 国产欧美一区二区精品忘忧草| 国产一区在线免费观看| 国产精品久久久一区麻豆最新章节| 欧美另类极品videosbest最新版本| 欧美xx视频| 国产精品成人午夜| 国产精品理论片| 国产日韩欧美自拍| 狠狠久久五月精品中文字幕| 好吊成人免视频| 亚洲国产高清在线观看视频| 激情亚洲网站| 一本色道久久综合| 久久久久9999亚洲精品| 欧美本精品男人aⅴ天堂| 亚洲国产日韩一区| 日韩一二在线观看| 篠田优中文在线播放第一区| 亚洲国产一区二区三区高清 | 一区二区在线观看视频在线观看| 国产农村妇女毛片精品久久麻豆| 一区三区视频| 校园激情久久| 日韩图片一区| 久久一区二区三区国产精品 | 久久婷婷成人综合色| 欧美日韩一区二区国产| 亚洲第一网站| 久久全国免费视频| 亚洲欧美视频| 欧美日韩亚洲高清一区二区| 1024亚洲| 欧美成人午夜视频| 免费黄网站欧美| 在线看片一区| 另类欧美日韩国产在线| 亚洲免费在线看| 国产精品va在线| 9l国产精品久久久久麻豆| 久久久久久久成人| 午夜欧美不卡精品aaaaa| 国产一区二区精品久久99| 欧美在线视频不卡| 久久经典综合| 亚洲欧美视频在线观看视频| 久久久久久一区二区三区| 国产精品99久久久久久久vr| 亚洲欧美电影在线观看| 99精品热视频| 西西裸体人体做爰大胆久久久| 国产日产欧产精品推荐色 | 欧美特黄一级| 亚洲字幕在线观看| 欧美一区二区黄色| 亚洲自拍偷拍网址| 国产一区亚洲| 亚洲国产精品免费| 欧美视频免费看| 免费看亚洲片| 国产一区二区三区日韩欧美| 亚洲精品一区二区三区不| av成人毛片| 日韩一级二级三级| 欧美电影在线观看完整版| 免费不卡亚洲欧美| 亚洲欧美日韩视频二区| 99精品99| 欧美日韩精品综合| 日韩视频二区| 亚洲欧美网站| 国内精品久久久久久| 久久久久久久久久看片| 欧美国产在线观看| 日韩网站在线观看| 国产精品美女黄网| 亚洲午夜av在线| 欧美不卡在线视频| 国产精品福利在线观看网址| 欧美有码在线视频| 欧美护士18xxxxhd| 亚洲国产免费看| 亚洲经典视频在线观看| 久久综合给合久久狠狠色| 国产亚洲激情视频在线| 亚洲欧美日韩精品久久亚洲区| 亚洲高清成人| 欧美日韩国产电影| 亚洲欧美韩国| 欧美专区中文字幕| 在线播放日韩欧美| 99国产精品久久久久久久久久 | 欧美日韩高清在线观看| 一区视频在线播放| 亚洲精品一区二区在线观看|