關(guān)于全屏
1。 假全屏(如:成吉思汗、11的EF):
用API:ChangeDisplaySettings( &dm, CDS_FULLSCREEN );來設(shè)置
2. 對話框全屏(如:起凡早期的三國爭霸):
有限制,設(shè)備緩沖必須是discard交換并且是lockable的;
顏色跟gdi兼容;
設(shè)備不能開反鋸齒;
3. flip獨(dú)占全屏(如war3、LOL):
這種方式最快,但是顯示不出輸入法的選字框。
所以必須自繪輸入框(使用ime處理)
理論上第2種對話框是介于1和3的一種折中的解決方案,但是2的限制也有點(diǎn)大,主要是不能開反鋸齒,性能和3比差別不是很大。
但是目前出現(xiàn)一個嚴(yán)重問題,在一些可進(jìn)行cpu和gpu切換的筆記本中(目前發(fā)現(xiàn)A卡的3000-5000系列),當(dāng)切換到高性能時第2種
對話框全屏方式的游戲(必須開HARDWARE頂點(diǎn),軟件頂點(diǎn)不受影響)會嚴(yán)重地卡幀,相當(dāng)?shù)乜ǎ≡蚩赡苁沁@系列卡的驅(qū)動并未能
很好地處理這種全屏模式(開啟d3d debug可以看到BitBlt or StretchBlt failed in Present之類的報錯)
如果你的游戲以前也用第2種方式,那么現(xiàn)在你得照顧下這些交火切換之類的本本了。。。
posted on 2012-09-24 15:11
flipcode 閱讀(230)
評論(0) 編輯 收藏 引用