赛尔号微端更新!采用谷歌浏览器内核!


赛尔号微端更新!采用谷歌浏览器内核!
2021年3月1日左右,赛尔号微端又更新了!这次采用了全新的浏览器内核——Chromium v78.0.3904.130。

来到赛尔号官网(http://seer.61.com),点击左上角的“微端下载”按钮,选择相应的系统类型,即可下载最新版赛尔号微端。

1.更新微端所使用的浏览器内核,更稳定。
2.修复了使用第三方登录有几率遇上二维码无法加载的BUG。
3.修复了游戏中部分需要跳转链接的功能暂时失效的BUG。
4.修复了若用户系统中遗留有32版本的Flash插件,可能会导微端无法运行的BUG。
5.使用独立于系统IE浏览器的缓存与数据。
6.兼容系统IE代理设置。
知晓了大体的更新内容,各位是否还想了解这个新的微端究竟有哪些细节可以挖掘呢?接下来,就让本文来解析一下吧。
观前提示:
1.本文介绍的是2021年3月1日更新的最新版本的赛尔号微端的详细情况,如果想了解之前版本的赛尔号微端详情,请阅读下面这篇文章。

2.本文介绍的“赛尔号微端”,特指Windows版本,不包含Mac OS版本。
安装包详情
名称:Seer.msi。大小:67.9MB。CRC-32校验码:4C09CF5F。
(每个文件的CRC-32校验码一般是唯一的。)

依然是老名字Seer.msi,不过安装包明显比之前大了不少,之前的安装包大小20.2MB。

赛尔号本身只是一个网页游戏,绝大多数功能都在在线实时下载的swf文件中,就算再怎样更新游戏本身也不会导致本地安装包会有这样大的体积变化。
有如此之大的体积变化,这意味着什么呢?答案只有一个:更换浏览器内核。
浏览器内核详情
1.0版本的程序框架为.net下的ShockwaveFlash与WebBrowser,浏览器内核为Trident(IE浏览器内核),使用的Flash版本为系统中的ActiveX 64位版本。
2.0版本的程序框架为.net下的xulrunner,浏览器内核为Gecko内核(Mozilla基金会组件开源项目),使用的Flash版本为微端自带的NPAPI 32位版本。
新版本舍弃了.net框架,直接使用Electron(使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序),浏览器内核为webkit内核(Chromium v78.0.3904.130),Chromium和Chrome(谷歌浏览器)所使用的webkit内核,是目前公认的“最快”的网页浏览方式。
打开微端安装录下的seer文件夹,找到“pepflashplayer32_27_0_0_187.dll”,右键-属性,就可以看到Flash插件的相关属性了。微端自带的Flash插件为PPAPI 32位版本的插件,版本号为27。

之前的浏览器内核渲染网页采用的是单线程,新版本的浏览器内核采用的是多线程。多线程渲染网页是Chromium内核的一大特点,也是该内核加载网页更快的原因之一。

与上一版本的微端程序相比,新版本微端的CPU使用占比更高,内存一般占用较低(偶尔会较高),会额外使用GPU进行渲染。

但是,新版本的微端程序真的更加流畅吗?答案不是的!新版本的微端程序有可能会更卡顿!
下面展示一下新旧版本的赛尔号微端的精灵对战动画对比情况。动态图片左边的为旧版本微端,右边的为新版本微端。

可以明显地看出,旧版本微端更加流畅,播放动画耗时更短,而新版本微端比较卡顿,播放动画耗时更长。旧版本微端已经显示伤害数字了,而新版本微端还没有播放完攻击动画。新版本动画播放时,“一顿一顿”的感觉更加明显。
原因是什么呢?不是说Chromium和Chrome(谷歌浏览器)所使用的webkit内核,是目前公认的“最快”的网页浏览方式吗?的确是最快,但只是针对渲染网页来说。
但是PPAPI版本的Flash插件的流畅性不如NPAPI与ActiveX版本。PPAPI的Flash相较于NPAPI来讲,因为全在沙盒里面运行,内存占用更大,而且Flash每次更新基本上都是修补安全漏洞。为了更加安全,需要牺牲流畅性。
沙盒(英语:sandbox,又译为沙箱),计算机专业术语,在计算机安全领域中是一种安全机制,为运行中的程序提供的隔离环境。通常是作为一些来源不可信、具破坏力或无法判定程序意图的程序提供实验之用。
为什么要使用沙盒呢?难道Flash不够安全吗?的确,Flash确实不够安全,存在很多安全漏洞,这也是Flash被H5淘汰的原因之一。
在CanSecWest2008Pwn20wn黑客大赛中,SecurityObjectives组织的黑客ShaneMacaulay利用Adobe公司的Flash软件中的一个安全漏洞突破了运行WindowsVista操作系统的富士通U8I0笔记本电脑。随即,这个漏洞的利用在互联网上爆发,相关的漏洞利用程序层出不穷。
据统计,2015年Adobe Flash插件一共爆出316个漏洞,平均每周6个漏洞。圣诞节还爆发出一个高危漏洞。
赛尔号是Flash网页游戏,游戏所依赖的最核心的渲染程序就是Flash插件,因此,决定游戏流畅程度的因素不是程序框架本身是否高效,也不是浏览器内核是否高效,而是Flash插件是否高效。
这里插一个问题,为什么PPAPI Flash要用沙盒机制,难道用Flash插件玩赛尔号会有安全问题吗?
几乎没有。因为赛尔号只是我国的一款小众游戏(虽然“赛尔号”是大众IP,但是不得不承认,游戏本身目前已经比较小众了)。绝大多数情况下,玩家是不会碰到相关Flash安全问题的。作为一款全球上百亿设备都在使用的软件,PPAPI Flash使用沙盒机制,并不是因为某个游戏考虑的,而是从全世界的互联网环境出发进行考虑的。
虽然新版本比较卡顿,但是新版本的确比较稳定。

在上面这篇文章发布的公告之中,赛尔号官方指出的几项问题,除了第1条以外,第2~4条BUG的确已经在新版本微端中修复了。更换了新的浏览器内核与程序框架,这些问题基本上不会出现了。

但是,第1条描述的问题目前还没有解决,Windows XP系统与Vista系统依旧无法使用新版本微端。不过也不用着急,相信游戏官方早晚会解决这个问题的。

为什么无法兼容XP系统?因为Electron是打包了nodejs,而nodejs是基于chrome V8 引擎 的 JavaScript 运行时,而V8引擎只支持window7及更高版本。

根本原因是新版本的chromium使用了Windows7以及更高版本系统才拥有的API,而这些系统API在WindowsXP系统是没有的。
Win32 API即为Microsoft 32位平台的应用程序编程接口(Application Programming Interface)。所有在Win32平台上运行的应用程序都可以调用这些函数。
使用Win32 API,应用程序可以充分挖掘Windows的32位操作系统的潜力。 Microsoft的所有32位平台都支持统一的API,包括函数、结构、消息、宏及接口。使用 Win32 API不但可以开发出在各种平台上都能成功运行的应用程序,而且也可以充分利用每个平台特有的功能和属性。
那么,有没有兼容WindowsXP系统的Electron程序端呢?是有的。
我在国外的某个编程交流论坛中,看到了标题为“Electron windows can support xp?”(Windows版本的Electron可以支持XP系统吗?)的贴文,其中有一位名为jetiny的网友回复道:“l have make (made) a windows xp version electron, do you need it ?”(我做了一个WindowsXP版本的Electron,你需要吗?)

国内也有相关的内容,miniblink浏览器内核的作者改写了一款兼容XP系统的Electron。

据他本人所说,他写的Electron-mini是兼容WindowsXP系统的。

不过到底游戏官方会采用何种形式制作WindowsXP版本的微端,是继续使用Electron还是其他的方法,就只好等待官方的更新消息了。
微端使用技巧
介绍完新版本的浏览器内核情况,接下来介绍一下新版本微端的一些使用技巧吧。
① 刷新
赛尔号微端程序没有可以使用鼠标点击的“刷新”按钮,玩家可以通过按下键盘的“F5”进行刷新。

这个版本的刷新功能是真正意义上的刷新网页,而不是之前那个版本的重启程序,还是挺爽的。
② 静音
相信很多玩家都已经习惯把游戏静音游玩,但是微端并没有自带“静音”功能,难道要每次登录游戏点击右下角的“静音”按钮吗?那样太麻烦了。而且,在登录界面,也有一段音乐挺吵的。
有简单的方法可以让微端永久静音吗?有的!

右键任务栏右下角的“小喇叭”图标(声音控制),选择“打开音量合成器”。
找到赛尔号微端对应的那一列(名称为Electron),点击下方的“小喇叭”,将它们调节到“静音状态”就可以了。(如果一开始找不到这个程序,可以先让微端播放一段音乐,然后就可以找到这个图标了。)

③ 清理缓存
游戏玩的时间长了,本地缓存文件太多了容易变卡,我想清理一下,或者我想清除一下账号记录,避免这台电脑其他用户发现,那该怎么办呢?
与旧版本直接引用IE文件与数据的做法不同,新版本微端所使用的本地缓存文件、cookie和网站数据是完完全全独立的。
这些文件被放置在“C:\Users\{{用户名}}\AppData\Roaming\WeSeer”目录下。(一般来说,每个人的计算机用户名都是不同的,各位可以到C盘里按照路径一点点去找。)

如何快速定位AppData文件夹?
按下键盘的win键+R键,输入“%appdata%”,按下回车,即可快速打开AppData文件夹。

如果你只是想清理本地缓存文件,防止长期不清理垃圾导致游戏卡顿,那么只需要将“Cache”文件夹删掉就可以了。
如果你想要清除自己的账号记录,防止其他用户看到,那么建议把WeSeer目录下的所有文件通通删掉。
——分割线——
以上都是基础操作,如果你了解JavaScript代码,你可以尝试以下进阶玩法。
JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。
Electron的设计理念是使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序,因此有什么额外的需求,我们可以自己动手写。
基于Electron制作的程序非常多,比如,“原神抽卡记录导出工具”。

你以为我的胡桃是“一发入魂”吗?其实是我垫了“77发”,第78发才出来的。

同样,新版本的赛尔号微端,也是基于Electron制作的程序。
各位对比一下两个程序的目录文件结构,是不是发现非常相似,很多文件都是一样的(版本号可能不同,但是程序结构是相同的)。

因此,核心的程序框架都是相同的,不同的只有交付Electron执行的Js代码而已。
如果我把赛尔号微端的这段代码文件复制到原神抽卡记录导出工具相应的目录下,覆盖掉源文件,那么原本的“原神抽卡记录导出工具”就变成了另一个“赛尔号微端”了。
赛尔号微端执行的Js代码文件在哪呢?微端安装目录下seer文件夹内的main.js就是我们要找的主程序代码。

在这里面,我们可以根据自己的需求添加相应的代码,来实现对应的功能。
如果直接运行微端安装目录下的WeSeer.exe,你会看到这个画面,这是Electron的介绍页面。

如果想要不依赖桌面快捷方式打开“赛尔号微端”,还可以这样做。
在资源管理器的地址栏,输入“cmd”,然后按下回车键。

在出现的“命令提示符”窗口中,输入“ WeSeer.exe seer\main.js ”,然后按下回车,就可以正常打开赛尔号页面了。

——分割线——
④ 清理缓存(另一种方法)
想不想尝试使用Js代码给赛尔号微端添加一个“清理缓存”的功能呢?
使用记事本或者其他代码编辑器(比如VsCode),打开main.js。
首先,将图片中红框圈出的代码删除。

如果你只是想删除缓存文件,输入下面这些代码。
如图所示,在这个位置复制粘贴代码。

保存文件,然后重新启动赛尔号微端。现在,只需要按下键盘的Ctrl+R键,就可以清理缓存文件了。
如果你想删除缓存文件以及账号数据记录等内容航,输入下面这些代码。
第一步,先在“var retR = globalShortcut.register”这一行文字上方的空白处写一个删除文件的函数。
如图所示。

第二步,在原来的地方写上另外两句代码。
如图所示。

保存文件,然后重新启动赛尔号微端。现在,只需要按下键盘的Ctrl+R键,就可以清理缓存文件与账号数据了。
⑤调整窗口大小
新版微端本身是无法调整窗口大小的,就连“最大化”的按钮也是不可用状态。

但是,我们可以通过写Js代码来实现调整窗口大小的功能。
同样的操作方法,使用记事本或者其他代码编辑器,打开main.js。

将图片中这两处网址改写一下,代码写成下面这种形式。
然后把文件中关于“resizable”属性的所有代码,都从“false”改成“true”。
(图片中的“//”代表将代码注释掉,只供人阅读查看,计算机不会执行。)



保存文件,然后重新启动赛尔号微端,你就可以随心所欲地调节窗口大小了。

只不过,有一点不足,那就是这个网址无法使用QQ或者微信扫码登录,必须使用米米号才能登录。
如果你想要快速恢复原来的窗口大小,只要按下Ctrl+0(数字0)就可以了。
这个“快速重置大小”的功能,是原来的代码里就自带的,不需要我们手写了。

⑥“任意微端生成器”
就像刚刚展示的那样,我们可以把加载的网址修改一下。
比如,改成赛尔号互通版的网址“http://seerh5.61.com”

保存文件,然后重新启动赛尔号微端,你就会获得一个赛尔号互通版的微端。

值得一提的是,Chromium内核的浏览器对于H5语法兼容性很强,执行H5的速度是比较快的,不像Flash那样卡,H5还是比较流畅的,因此用来做个互通版的微端也是挺好的。
当然,你还可以改成小花仙的网址“http://hua.61.com/Client.swf”,你就可以获得一个小花仙的微端。

⑦“资源文件下载器”
将main.js中这个“mainWindow.openDevTools();”前面的注释符号去掉,使得程序执行这一句代码,会发生什么事情呢?

会直接弹出Chromium内核浏览器的开发调试工具。
直接选择“Network”,在文本框内输入“mp3”,然后切换地图,右侧列表就会出现相应的地图音乐。右键-Copy-Copy link address,就可以复制音乐的网址了,然后就可以下载音乐了。其他资源也是类似的方法,就不多介绍了。

存在的问题
当然,目前的新版本赛尔号微端还存在一些问题,比如下面这几个。
①无法调整游戏窗口大小
无法调整大小玩游戏的时候是非常难受的一件事情,新版的微端原版本是无法进行窗口大小调节的。

当然,各位也可以按照上文介绍的方法,尝试给微端“添加”调节窗口大小的功能。
②移动窗口有时会出现黑边
移动窗口位置的时候,偶尔会出现很粗很粗的黑边,比如下图所示。

可能上面那张图不太明显,那么下面这张图肯定就足够明显了,强迫症看了很难受。

当然,这个问题还是可以解决的,只需要将窗口最小化,然后再还原,黑边就会消失了。
③白屏问题依然存在
32位程序意味着比较高的兼容性,它可以在32位系统和64位系统使用。但是32位程序也有一个致命的缺陷,那就是程序内存上限比较小。赛尔号的某些动画性能处理不是很好,容易导致程序内存溢出,游戏崩溃白屏。
比如,在播放主线剧情“魂之再生”第三章时白屏,在魔灵王·斯摩亚蒂使用“摄魄令”时白屏。

避免白屏的一个方法就是将程序的窗口调小,不过目前新版微端本身并不能调整窗口大小。
④按下Ctrl+R键会提示错误
这个应该是main.js文件中代码的问题,Ctrl+R热键功能相关代码没有注释完全,遗留了某些无用代码。

⑤有时候程序会保留到后台无法彻底关闭
有时点击了关闭按钮,程序窗口是不见了,但是后台程序还挂着几个呢。我忘了这个是如何触发的了,之后再次尝试也没发生过。

⑥误触Ctrl+滚轮滚动后,再次打开程序可能出现窗口大小异常的情况
误触Ctrl+滚轮滚动以后,由于游戏网页本身并不会调整大小,但是程序窗口会调整大小,所以会出现白边。

保持上面的窗口状态,关闭,然后重启微端以后,窗口又会变得更小,使得网页出现水平与竖直方向的滚动条。

解决方法是:继续使用Ctrl+滚轮滚动调整窗口至默认大小,或者直接按Crtl+0(数字0)即可。
诚然,目前的赛尔号微端的确存在一些问题。不过,也许游戏官方正在尝试解决这些问题。

如果大家发现问题,可以去找游戏客服反馈。因此,关于后续的各种优化,就需要大家共同努力了。
也希望微端能够越改进越好,祝大家游戏愉快。
本人水平有限,本文内容仅供参考,如有不足还请见谅。
本文权当是“抛砖引玉”,如果各位大佬也有对于赛尔号微端的一些见解,欢迎在评论区留言讨论。
(本文作者:橙汁。转载请注明出处,谢谢。)