手机变身掌上PC:Winlator让不可能成为可能
这两天我忽然心血来潮,想要折腾一下手机。起因是在B站和YouTube上看到一些视频,展示了如何用手机玩一些PC平台上的游戏大作。没想到随着半导体工艺的进步,许多10年前只能在PC平台上运行的大型游戏,现在有些已经可以跑在小小的手机上了,可见科技进步之快,摩尔定律所言不虚。
正好我也有时间,就想亲自体验一下到底该如何折腾。原来他们使用的是一款叫做Winlator的App,这是一个开源项目,所以也有很多的分支和修改版,也就是常说的MOD版。经过各种视频对比,我觉得一位国内大神阿飞的MOD版最不错。于是我下载了这个版本,还加入了一个专门讨论手机电脑模拟器的QQ群。后来发现其实没有必要加群,因为阿飞大神已经将这个项目开源在GitHub上了。
下载安装之后,我迫不及待地想要尝试。首先找了一个简单的Windows游戏,选择的是一款叫做《去月球》的像素RPG游戏。这个游戏用非常简单但精美的像素画风,讲述了一个非常凄美、带有科幻色彩的故事。游戏中两位记忆穿越公司的职员,要搜寻一位即将去世的老人的记忆,来达成他前往月球的心愿。
下载好游戏之后,我将其放到手机的内存中,让文件夹加载成Winlator模拟器的磁盘。双击EXE文件,居然真的可以打开,而且是完美运行。当然,这个游戏画面简单,对系统要求不高,能够运行也是情理之中的事。
第二项测试我决定加大难度。我以前非常喜欢开源的3D建模软件Blender,但这款软件也只能运行在PC机上。我想,如果能够在手机或者安卓平板上运行这个软件该有多好。在网上搜索类似的话题,也看到一些人在折腾如何在安卓手机上运行Blender,但是步骤都非常繁琐,而且最终运行的效果非常不好,基本上是可以打开但不能使用的状态。
所以第二个测试就是在Winlator上运行Blender软件。结果效果出奇的好,就像刚才运行游戏一样简单。双击EXE文件,结果也非常理想,没有任何报错,完美打开。当然,用Blender建模还是需要键盘的配合,这一点靠触摸屏还是很难完成。不过我把它调到了雕刻模式,然后给默认的正方体加上了细分修改器,将它平滑成了一个由很多个顶点组成的圆球。用雕刻笔刷在这个圆球上涂抹,圆球果然跟随着我的指尖发生了凹凸不平的变化,响应非常迅速,和在电脑上没有什么区别。这个试验结果非常满意。
接下来我想试一试电脑上的3D游戏大作了。当然,这个要求就高了很多,并不是所有的电脑游戏都能够在手机上运行。一般年代比较久远的、10年之前的大作都可以尝试一下。而且用这个模拟器玩游戏还是需要一些折腾来完成的,它有很多的参数需要设置。
这个模拟器的原理应该是使用了一个Linux上的开源项目Wine。这个项目的目的就是让Linux能够运行原生的Windows程序,而安卓系统的底层也是运行在Linux内核上的。所以将两者结合起来就打造出了这样一个PC模拟器的App。但是和开源软件一样,需要一定的折腾才能用好。要想玩好3D游戏,需要对每种游戏都进行特定的设置。而且参数的设置、不同组件的版本参数都要进行特别的调整,这些设置之间的关系很难说得清楚,基本上就是一种玄学。
所以我尝试了几个大型的游戏,但似乎都没有成功。唯一一个成功的是一个画风有点偏卡通渲染的3D游戏《狂野西部枪手》。在一些室内场景中,手机的表现还是非常流畅的。但是一旦来到室外稍微复杂一点的场景,帧数就卡到只有十几甚至十帧左右,基本上是没法愉快地玩耍的。
而且还有一个问题就是,手机所特有的被动散热和显卡上巨大的散热风扇不同。手机大多是被动散热,所以玩了一会儿之后温度会升得非常高,达到烫手的程度。手机的系统也会检测到CPU的温度升高而主动降低频率,这也是游戏越玩越卡的主要原因。
最后总结一下这次折腾,这种方法玩一玩还是蛮有趣的,但是受限于手机的特点,在现阶段并不太具有实际意义。当然,玩一些画质比较简单的非3D游戏或者休闲游戏还是很不错的。另外,在手机上运行一些Windows的应用程序,这是颇具前景的应用方向。