EKsumic的个人博客

本博客主要用于整理知识点并分享,转载请注明出处

移动适配已完成,点击左侧按钮可使用目录

问答

为什么输入法会对游戏产生影响?

 

为什么输入法会对游戏产生影响?

 

先说结论因为游戏没做好。

具体原因:你的中文输入法UI没有在游戏中正确地显示出来。

 

分析:   

如果你玩过CSGO或者像绝地求生 类游戏,肯定有注意到过

设置里面有 ①全屏窗口全屏(窗口)三种显示模式。

 

你有没有想过为什么要有3种?这3种有什么不同? 

 

①如果选择全屏,游戏则是调用了一个不同的图形渲染接口,输入法在游戏里面的 UI框需要重画

(这个工作是 须要做的,特别是对像中文输入法这种)

而这个工作要是不做,对英文输入法一点问题都没有,因为人家不像我们的中文输入法

这样出现候选框,人家英文直接对应输入,实际上根本用不着什么英文输入法

 

然而你想想,你可能用的是搜狗输入法百度输入法QQ输入法,这样的输入法, Windows桌面下正常 显示 不错,

但是到了游戏里就不一样了,游戏调用的图形接口就和桌面的不一样

游戏 不能使用桌面的渲染,换句话讲,

因为游戏的渲染图像是覆盖桌面的。你的游戏图像已经覆盖桌面了,还想显示出来?

那要么重新画一个咯!

 

不重新画,就会报错。

 

游戏一开始就会加载你的输入法,但是在准备重新画输入框的时候发现这块代码是空的(或不兼容),所以只能报错Fatal Error!

 

像盗版过来的《植物大战僵尸》这款游戏,明显只做了英文版,它没有中文版,虽然盗版汉化了,但输入法这一块,汉化组无能为力

 

所以游戏根本就没有画这个UI,虽然没有画这个UI但是游戏进程想展示出来,那肯定就报错Fatal Error咯!

 

 

②如果你选择窗口模式,那就是没有切换图像渲染接口,输入法的UI还是由原来的桌面在渲染。

全屏窗口模式实际上还是窗口模式,只是看起来像全屏

 

这就是你窗口模式为啥不报错的原因。

 

扩展知识:

 

至于有位贴吧老哥说“点击游戏后狂按左键”,其实也是拒绝注入输入法的一种。(我试过了,不过真的好拼手速啊)

你如果有开3D加速的话,你的游戏是由独立显卡运算的,如果不开的话一般使用的Intel的集成显卡集成显卡一般用来渲染桌面,包括你的输入法。

 

 

 

 

参考文档:

[1] 为什么全屏游戏中使用中文输入法会使游戏窗口化/黑屏?

文章最后发布于 2020-03-16 00:22:58