隨著手機屏幕分辨率的越來越高,遊戲的渲染面臨著越來越大的壓力,特別是個別手機3K、4K屏的使用,如果不加優化必須會帶來遊戲時的發熱量急劇長高。
首先來看兩張對比圖,分別是在1334x750和1000x562分辨率下對比:
- 圖1,分辨率 1334x750
- 圖2,分辨率 1000x562
兩張圖都是iphone6上測試出來的結果,在同一場景下,從Utilization一欄可以看出不同分辨率帶來了GPU使用率差異非常明顯,綠色一欄的也可以看出當分辨率降低後,GPU的處理時間明顯減少。
原因
遊戲渲染時的分辨率,也即framebuffer的大小,直接影響了渲染的所需要處理的像素數量,不同分辨率下這基本是維持一個線性關係。例如
(1000 * 562) / (1334 * 750) = 0.565
28 / 49 = 0.57
結論
在做遊戲時,在保證效果的情況下,儘量減少Framebuffer的大小,特別是不要在所有手機上都使用全屏幕分辨率進行渲染,否則在一個高分辨率的手機上耗電和發熱都無法承受。
閱讀更多 Real遊戲引擎開發者 的文章