Re: [程式] 請問Open GL的Texture 和 Surfase問題
※ 引述《elfria (elfria)》之銘言:
: 我在寫小遊戲的時候,是2D遊戲
: 發現
: 我電腦在螢幕上show一張Texture效率滿低的
: 比方說800*600的視窗..Show 5張圖層256*256...FPS就降下來
: 不知道,有什麼方法可以克服
: 或者說~~~如果用Surface的話,有什麼缺點?
texture mapping 本來就是 performance killer,如果你是拿 texture 來做 2D
用途的話那真的是很划不來,除此之外,texture mapping 所花的時間是正比於它
在畫面上的面積,而不是原始圖檔的尺寸,所以你只要在畫面上畫得很大一塊,就
算你用 16x16 的貼圖影像也差不多。
在你這個 case,如果你如果非要用 texture mapping 又想盡量提昇效率,有三件
事可以自我檢測一下:
1. texture 的取樣方式(sampling or filter)是否從 linear 換為 nearest?當然
這在小圖放大的時候會產生鋸齒,也可以順便檢查 anti-aliasing 是否關閉。
2. 是否在每個 frame 期間反覆地建立或更新 texture? 因為現在大部份顯示卡都把
texture 資料放在卡上的記憶體,所以你如果每個畫面都 glTexImage2D() 或是
glTexSubImage2D() 的話,程式每個 frame 都將 texture 影像從主機板上 RAM
傳送到顯示卡去。
3. 剩下最後一個方法就是,不要每個畫面都把 color buffer 全部清掉重畫,只重
畫需要更新的部份。
--
Shu-Kai Yang's Freeware and Tutorials
* http://shukaiyang.myweb.hinet.net/indextc.htm
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.124.100.72
推
02/03 15:23, , 1F
02/03 15:23, 1F
推
02/04 03:56, , 2F
02/04 03:56, 2F
討論串 (同標題文章)
GameDesign 近期熱門文章
PTT遊戲區 即時熱門文章
10
38