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