我家电脑打开腾讯网页游戏,像真王、九仙这类,画面永远卡在加载条不动,或者直接白屏。折腾了无数回,最后才弄明白是几个死结绞在一起,解开一个又冒出另一个。
第一个死结是网络运营商之间的那堵墙。我家宽带装的是联通,可腾讯的网页游戏服务器大多架设在电信机房。用联通访问电信线路,跨网延迟轻松飙到200毫秒以上,丢包率在晚高峰能到百分之十几。真王这种即时战斗游戏,每一步操作都要和服务器实时确认,包一丢,角色就站在原地发呆,技能放出去没有反应,一分钟后画面猛然跳一下,人已经倒在地上死了。九仙的登录验证更是严苛,数据包重传超过三次直接踢下线。这不是电脑的问题,是两条网线之间的物理距离造成的天然障碍。
第二个死结藏在系统里面。腾讯网页游戏对操作系统版本有明确要求,至少得是Windows 7 SP1以上。我家那台老台式机还跑着Windows XP,Flash插件的最后支持版本停在11.7,而真王需要Flash Player 15以上才给完整渲染画面。XP系统下强行装新版本Flash根本不让装,提示系统版本过老。就算用绿色版Flash,游戏里的人物贴图会变成半透明,地图上的建筑全部消失,只剩一片灰蒙蒙的地面。九仙干脆检测到XP直接弹窗提示不支持,然后游戏就卡死在加载界面,连登录按钮都点不了。
第三个死结是浏览器这层。腾讯网页游戏对浏览器的兼容性有张白名单,chrome要50以上版本,360安全浏览器要用极速模式,搜狗要切高速内核。我家的浏览器是2014年装的老版本,还在用IE8兼容模式。真王的主程序靠WebSocket和服务器保持长连接,IE8根本不支持这个协议,数据通道断了,游戏自然成了废纸壳子。有一次我换了最新的360浏览器,结果默认打开的是兼容模式,点进游戏后列表页面显示正常,点“开始游戏”却是空白,手动切成极速模式后,画面突然蹦出来了。这个细节困了我整整半年。
硬件又是第四道坎。网页游戏看着简单,其实暗地里要跑Unity3D或者Flash 3D引擎。真王的主界面用了一整张2048分辨率的背景图,加载时要占内存接近1.5G。我家电脑只有4G内存,用32位系统只能识别3.25G,开机后剩下不到2G,游戏一开,内存当场爆掉,画面变黑,然后系统提示内存不足。九仙更狠,加载时直接要2G内存,这机器直接处于崩溃边缘。CPU还是2011年的双核,单核主频1.8GHz,游戏里的粒子特效一开,CPU占用直接拉满,风扇嘶吼,整个机箱都在抖。

最后还得说自己家网速的问题。家庭宽带宣传的百兆、两百兆都是下行和下载,上行只有二十到三十兆,这游戏对上行带宽的要求极高,尤其九仙的野外邦城战,几十个人同屏,角色位置和技能数据需要实时上传。高峰期上行带宽被占满,上行数据排着队出不去,服务器判定你掉线,再回来的时候人已经在安全区了。
我试着用手机热点连电脑玩,移动线路访问腾讯的服务器反而比联通直连快了许多。这说明家里那个有线路由器没起任何优化作用,它只是简单转发数据包,不会智能选择最快的链路。后来问了懂网络的朋友,他知道给路由器刷一个智能DNS脚本,可以把腾讯的域名解析到最近的节点,延迟从180毫秒降到40毫秒,游戏瞬间流畅起来。这又成了家里人嘲笑我的事。
归根结底,我家玩不了这些腾讯网页游戏,是网络路线冲突、老系统不被支持、浏览器内核老旧、内存不足、上行带宽窄,几个因素像连环锁一样一环扣一环。修好了一个,另一个又开始捣乱。到现在我那台电脑还是那个样子,真王和九仙一直躺在小游戏网页里,隔段时间点开一次,然后心平气和地关掉。