关于全屏

关于全屏
关于全屏
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种方式,那么现在你得照顾下这些交火切换之类的本本了。。。

你可能感兴趣的:(关于全屏)