賽爾號微端更新!采用谷歌瀏覽器內(nèi)核!


賽爾號微端更新!采用谷歌瀏覽器內(nèi)核!
2021年3月1日左右,賽爾號微端又更新了!這次采用了全新的瀏覽器內(nèi)核——Chromium v78.0.3904.130。

來到賽爾號官網(wǎng)(http://seer.61.com),點(diǎn)擊左上角的“微端下載”按鈕,選擇相應(yīng)的系統(tǒng)類型,即可下載最新版賽爾號微端。

1.更新微端所使用的瀏覽器內(nèi)核,更穩(wěn)定。
2.修復(fù)了使用第三方登錄有幾率遇上二維碼無法加載的BUG。
3.修復(fù)了游戲中部分需要跳轉(zhuǎn)鏈接的功能暫時(shí)失效的BUG。
4.修復(fù)了若用戶系統(tǒng)中遺留有32版本的Flash插件,可能會導(dǎo)微端無法運(yùn)行的BUG。
5.使用獨(dú)立于系統(tǒng)IE瀏覽器的緩存與數(shù)據(jù)。
6.兼容系統(tǒng)IE代理設(shè)置。
知曉了大體的更新內(nèi)容,各位是否還想了解這個(gè)新的微端究竟有哪些細(xì)節(jié)可以挖掘呢?接下來,就讓本文來解析一下吧。
觀前提示:
1.本文介紹的是2021年3月1日更新的最新版本的賽爾號微端的詳細(xì)情況,如果想了解之前版本的賽爾號微端詳情,請閱讀下面這篇文章。

2.本文介紹的“賽爾號微端”,特指Windows版本,不包含Mac OS版本。
安裝包詳情
名稱:Seer.msi。大?。?7.9MB。CRC-32校驗(yàn)碼:4C09CF5F。
(每個(gè)文件的CRC-32校驗(yàn)碼一般是唯一的。)

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

賽爾號本身只是一個(gè)網(wǎng)頁游戲,絕大多數(shù)功能都在在線實(shí)時(shí)下載的swf文件中,就算再怎樣更新游戲本身也不會導(dǎo)致本地安裝包會有這樣大的體積變化。
有如此之大的體積變化,這意味著什么呢?答案只有一個(gè):更換瀏覽器內(nèi)核。
瀏覽器內(nèi)核詳情
1.0版本的程序框架為.net下的ShockwaveFlash與WebBrowser,瀏覽器內(nèi)核為Trident(IE瀏覽器內(nèi)核),使用的Flash版本為系統(tǒng)中的ActiveX 64位版本。
2.0版本的程序框架為.net下的xulrunner,瀏覽器內(nèi)核為Gecko內(nèi)核(Mozilla基金會組件開源項(xiàng)目),使用的Flash版本為微端自帶的NPAPI 32位版本。
新版本舍棄了.net框架,直接使用Electron(使用 JavaScript,HTML 和 CSS 構(gòu)建跨平臺的桌面應(yīng)用程序),瀏覽器內(nèi)核為webkit內(nèi)核(Chromium v78.0.3904.130),Chromium和Chrome(谷歌瀏覽器)所使用的webkit內(nèi)核,是目前公認(rèn)的“最快”的網(wǎng)頁瀏覽方式。
打開微端安裝錄下的seer文件夾,找到“pepflashplayer32_27_0_0_187.dll”,右鍵-屬性,就可以看到Flash插件的相關(guān)屬性了。微端自帶的Flash插件為PPAPI 32位版本的插件,版本號為27。

之前的瀏覽器內(nèi)核渲染網(wǎng)頁采用的是單線程,新版本的瀏覽器內(nèi)核采用的是多線程。多線程渲染網(wǎng)頁是Chromium內(nèi)核的一大特點(diǎn),也是該內(nèi)核加載網(wǎng)頁更快的原因之一。

與上一版本的微端程序相比,新版本微端的CPU使用占比更高,內(nèi)存一般占用較低(偶爾會較高),會額外使用GPU進(jìn)行渲染。

但是,新版本的微端程序真的更加流暢嗎?答案不是的!新版本的微端程序有可能會更卡頓!
下面展示一下新舊版本的賽爾號微端的精靈對戰(zhàn)動畫對比情況。動態(tài)圖片左邊的為舊版本微端,右邊的為新版本微端。

可以明顯地看出,舊版本微端更加流暢,播放動畫耗時(shí)更短,而新版本微端比較卡頓,播放動畫耗時(shí)更長。舊版本微端已經(jīng)顯示傷害數(shù)字了,而新版本微端還沒有播放完攻擊動畫。新版本動畫播放時(shí),“一頓一頓”的感覺更加明顯。
原因是什么呢?不是說Chromium和Chrome(谷歌瀏覽器)所使用的webkit內(nèi)核,是目前公認(rèn)的“最快”的網(wǎng)頁瀏覽方式嗎?的確是最快,但只是針對渲染網(wǎng)頁來說。
但是PPAPI版本的Flash插件的流暢性不如NPAPI與ActiveX版本。PPAPI的Flash相較于NPAPI來講,因?yàn)槿谏澈欣锩孢\(yùn)行,內(nèi)存占用更大,而且Flash每次更新基本上都是修補(bǔ)安全漏洞。為了更加安全,需要犧牲流暢性。
沙盒(英語:sandbox,又譯為沙箱),計(jì)算機(jī)專業(yè)術(shù)語,在計(jì)算機(jī)安全領(lǐng)域中是一種安全機(jī)制,為運(yùn)行中的程序提供的隔離環(huán)境。通常是作為一些來源不可信、具破壞力或無法判定程序意圖的程序提供實(shí)驗(yàn)之用。
為什么要使用沙盒呢?難道Flash不夠安全嗎?的確,F(xiàn)lash確實(shí)不夠安全,存在很多安全漏洞,這也是Flash被H5淘汰的原因之一。
在CanSecWest2008Pwn20wn黑客大賽中,SecurityObjectives組織的黑客ShaneMacaulay利用Adobe公司的Flash軟件中的一個(gè)安全漏洞突破了運(yùn)行WindowsVista操作系統(tǒng)的富士通U8I0筆記本電腦。隨即,這個(gè)漏洞的利用在互聯(lián)網(wǎng)上爆發(fā),相關(guān)的漏洞利用程序?qū)映霾桓F。
據(jù)統(tǒng)計(jì),2015年Adobe Flash插件一共爆出316個(gè)漏洞,平均每周6個(gè)漏洞。圣誕節(jié)還爆發(fā)出一個(gè)高危漏洞。
賽爾號是Flash網(wǎng)頁游戲,游戲所依賴的最核心的渲染程序就是Flash插件,因此,決定游戲流暢程度的因素不是程序框架本身是否高效,也不是瀏覽器內(nèi)核是否高效,而是Flash插件是否高效。
這里插一個(gè)問題,為什么PPAPI Flash要用沙盒機(jī)制,難道用Flash插件玩賽爾號會有安全問題嗎?
幾乎沒有。因?yàn)橘悹柼栔皇俏覈囊豢钚”娪螒颍m然“賽爾號”是大眾IP,但是不得不承認(rèn),游戲本身目前已經(jīng)比較小眾了)。絕大多數(shù)情況下,玩家是不會碰到相關(guān)Flash安全問題的。作為一款全球上百億設(shè)備都在使用的軟件,PPAPI Flash使用沙盒機(jī)制,并不是因?yàn)槟硞€(gè)游戲考慮的,而是從全世界的互聯(lián)網(wǎng)環(huán)境出發(fā)進(jìn)行考慮的。
雖然新版本比較卡頓,但是新版本的確比較穩(wěn)定。

在上面這篇文章發(fā)布的公告之中,賽爾號官方指出的幾項(xiàng)問題,除了第1條以外,第2~4條BUG的確已經(jīng)在新版本微端中修復(fù)了。更換了新的瀏覽器內(nèi)核與程序框架,這些問題基本上不會出現(xiàn)了。

但是,第1條描述的問題目前還沒有解決,Windows XP系統(tǒng)與Vista系統(tǒng)依舊無法使用新版本微端。不過也不用著急,相信游戲官方早晚會解決這個(gè)問題的。

為什么無法兼容XP系統(tǒng)?因?yàn)镋lectron是打包了nodejs,而nodejs是基于chrome V8 引擎 的 JavaScript 運(yùn)行時(shí),而V8引擎只支持window7及更高版本。

根本原因是新版本的chromium使用了Windows7以及更高版本系統(tǒng)才擁有的API,而這些系統(tǒng)API在WindowsXP系統(tǒng)是沒有的。
Win32 API即為Microsoft 32位平臺的應(yīng)用程序編程接口(Application Programming Interface)。所有在Win32平臺上運(yùn)行的應(yīng)用程序都可以調(diào)用這些函數(shù)。
使用Win32 API,應(yīng)用程序可以充分挖掘Windows的32位操作系統(tǒng)的潛力。 Microsoft的所有32位平臺都支持統(tǒng)一的API,包括函數(shù)、結(jié)構(gòu)、消息、宏及接口。使用 Win32 API不但可以開發(fā)出在各種平臺上都能成功運(yùn)行的應(yīng)用程序,而且也可以充分利用每個(gè)平臺特有的功能和屬性。
那么,有沒有兼容WindowsXP系統(tǒng)的Electron程序端呢?是有的。
我在國外的某個(gè)編程交流論壇中,看到了標(biāo)題為“Electron windows can support xp?”(Windows版本的Electron可以支持XP系統(tǒng)嗎?)的貼文,其中有一位名為jetiny的網(wǎng)友回復(fù)道:“l(fā) have make?(made)?a windows xp version electron, do you need it ?”(我做了一個(gè)WindowsXP版本的Electron,你需要嗎?)

國內(nèi)也有相關(guān)的內(nèi)容,miniblink瀏覽器內(nèi)核的作者改寫了一款兼容XP系統(tǒng)的Electron。

據(jù)他本人所說,他寫的Electron-mini是兼容WindowsXP系統(tǒng)的。

不過到底游戲官方會采用何種形式制作WindowsXP版本的微端,是繼續(xù)使用Electron還是其他的方法,就只好等待官方的更新消息了。
微端使用技巧
介紹完新版本的瀏覽器內(nèi)核情況,接下來介紹一下新版本微端的一些使用技巧吧。
① 刷新
賽爾號微端程序沒有可以使用鼠標(biāo)點(diǎn)擊的“刷新”按鈕,玩家可以通過按下鍵盤的“F5”進(jìn)行刷新。

這個(gè)版本的刷新功能是真正意義上的刷新網(wǎng)頁,而不是之前那個(gè)版本的重啟程序,還是挺爽的。
② 靜音
相信很多玩家都已經(jīng)習(xí)慣把游戲靜音游玩,但是微端并沒有自帶“靜音”功能,難道要每次登錄游戲點(diǎn)擊右下角的“靜音”按鈕嗎?那樣太麻煩了。而且,在登錄界面,也有一段音樂挺吵的。
有簡單的方法可以讓微端永久靜音嗎?有的!

右鍵任務(wù)欄右下角的“小喇叭”圖標(biāo)(聲音控制),選擇“打開音量合成器”。
找到賽爾號微端對應(yīng)的那一列(名稱為Electron),點(diǎn)擊下方的“小喇叭”,將它們調(diào)節(jié)到“靜音狀態(tài)”就可以了。(如果一開始找不到這個(gè)程序,可以先讓微端播放一段音樂,然后就可以找到這個(gè)圖標(biāo)了。)

③ 清理緩存
游戲玩的時(shí)間長了,本地緩存文件太多了容易變卡,我想清理一下,或者我想清除一下賬號記錄,避免這臺電腦其他用戶發(fā)現(xiàn),那該怎么辦呢?
與舊版本直接引用IE文件與數(shù)據(jù)的做法不同,新版本微端所使用的本地緩存文件、cookie和網(wǎng)站數(shù)據(jù)是完完全全獨(dú)立的。
這些文件被放置在“C:\Users\{{用戶名}}\AppData\Roaming\WeSeer”目錄下。(一般來說,每個(gè)人的計(jì)算機(jī)用戶名都是不同的,各位可以到C盤里按照路徑一點(diǎn)點(diǎn)去找。)

如何快速定位AppData文件夾?
按下鍵盤的win鍵+R鍵,輸入“%appdata%”,按下回車,即可快速打開AppData文件夾。

如果你只是想清理本地緩存文件,防止長期不清理垃圾導(dǎo)致游戲卡頓,那么只需要將“Cache”文件夾刪掉就可以了。
如果你想要清除自己的賬號記錄,防止其他用戶看到,那么建議把WeSeer目錄下的所有文件通通刪掉。
——分割線——
以上都是基礎(chǔ)操作,如果你了解JavaScript代碼,你可以嘗試以下進(jìn)階玩法。
JavaScript(簡稱“JS”) 是一種具有函數(shù)優(yōu)先的輕量級,解釋型或即時(shí)編譯型的編程語言。雖然它是作為開發(fā)Web頁面的腳本語言而出名,但是它也被用到了很多非瀏覽器環(huán)境中,JavaScript 基于原型編程、多范式的動態(tài)腳本語言,并且支持面向?qū)ο?、命令式和聲明式(如函?shù)式編程)風(fēng)格。
Electron的設(shè)計(jì)理念是使用 JavaScript,HTML 和 CSS 構(gòu)建跨平臺的桌面應(yīng)用程序,因此有什么額外的需求,我們可以自己動手寫。
基于Electron制作的程序非常多,比如,“原神抽卡記錄導(dǎo)出工具”。

你以為我的胡桃是“一發(fā)入魂”嗎?其實(shí)是我墊了“77發(fā)”,第78發(fā)才出來的。

同樣,新版本的賽爾號微端,也是基于Electron制作的程序。
各位對比一下兩個(gè)程序的目錄文件結(jié)構(gòu),是不是發(fā)現(xiàn)非常相似,很多文件都是一樣的(版本號可能不同,但是程序結(jié)構(gòu)是相同的)。

因此,核心的程序框架都是相同的,不同的只有交付Electron執(zhí)行的Js代碼而已。
如果我把賽爾號微端的這段代碼文件復(fù)制到原神抽卡記錄導(dǎo)出工具相應(yīng)的目錄下,覆蓋掉源文件,那么原本的“原神抽卡記錄導(dǎo)出工具”就變成了另一個(gè)“賽爾號微端”了。
賽爾號微端執(zhí)行的Js代碼文件在哪呢?微端安裝目錄下seer文件夾內(nèi)的main.js就是我們要找的主程序代碼。

在這里面,我們可以根據(jù)自己的需求添加相應(yīng)的代碼,來實(shí)現(xiàn)對應(yīng)的功能。
如果直接運(yùn)行微端安裝目錄下的WeSeer.exe,你會看到這個(gè)畫面,這是Electron的介紹頁面。

如果想要不依賴桌面快捷方式打開“賽爾號微端”,還可以這樣做。
在資源管理器的地址欄,輸入“cmd”,然后按下回車鍵。

在出現(xiàn)的“命令提示符”窗口中,輸入“ WeSeer.exe seer\main.js ”,然后按下回車,就可以正常打開賽爾號頁面了。

——分割線——
④ 清理緩存(另一種方法)
想不想嘗試使用Js代碼給賽爾號微端添加一個(gè)“清理緩存”的功能呢?
使用記事本或者其他代碼編輯器(比如VsCode),打開main.js。
首先,將圖片中紅框圈出的代碼刪除。

如果你只是想刪除緩存文件,輸入下面這些代碼。
如圖所示,在這個(gè)位置復(fù)制粘貼代碼。

保存文件,然后重新啟動賽爾號微端?,F(xiàn)在,只需要按下鍵盤的Ctrl+R鍵,就可以清理緩存文件了。
如果你想刪除緩存文件以及賬號數(shù)據(jù)記錄等內(nèi)容航,輸入下面這些代碼。
第一步,先在“var retR = globalShortcut.register”這一行文字上方的空白處寫一個(gè)刪除文件的函數(shù)。
如圖所示。

第二步,在原來的地方寫上另外兩句代碼。
如圖所示。

保存文件,然后重新啟動賽爾號微端?,F(xiàn)在,只需要按下鍵盤的Ctrl+R鍵,就可以清理緩存文件與賬號數(shù)據(jù)了。
⑤調(diào)整窗口大小
新版微端本身是無法調(diào)整窗口大小的,就連“最大化”的按鈕也是不可用狀態(tài)。

但是,我們可以通過寫Js代碼來實(shí)現(xiàn)調(diào)整窗口大小的功能。
同樣的操作方法,使用記事本或者其他代碼編輯器,打開main.js。

將圖片中這兩處網(wǎng)址改寫一下,代碼寫成下面這種形式。
然后把文件中關(guān)于“resizable”屬性的所有代碼,都從“false”改成“true”。
(圖片中的“//”代表將代碼注釋掉,只供人閱讀查看,計(jì)算機(jī)不會執(zhí)行。)



保存文件,然后重新啟動賽爾號微端,你就可以隨心所欲地調(diào)節(jié)窗口大小了。

只不過,有一點(diǎn)不足,那就是這個(gè)網(wǎng)址無法使用QQ或者微信掃碼登錄,必須使用米米號才能登錄。
如果你想要快速恢復(fù)原來的窗口大小,只要按下Ctrl+0(數(shù)字0)就可以了。
這個(gè)“快速重置大小”的功能,是原來的代碼里就自帶的,不需要我們手寫了。

⑥“任意微端生成器”
就像剛剛展示的那樣,我們可以把加載的網(wǎng)址修改一下。
比如,改成賽爾號互通版的網(wǎng)址“http://seerh5.61.com”

保存文件,然后重新啟動賽爾號微端,你就會獲得一個(gè)賽爾號互通版的微端。

值得一提的是,Chromium內(nèi)核的瀏覽器對于H5語法兼容性很強(qiáng),執(zhí)行H5的速度是比較快的,不像Flash那樣卡,H5還是比較流暢的,因此用來做個(gè)互通版的微端也是挺好的。
當(dāng)然,你還可以改成小花仙的網(wǎng)址“http://hua.61.com/Client.swf”,你就可以獲得一個(gè)小花仙的微端。

⑦“資源文件下載器”
將main.js中這個(gè)“mainWindow.openDevTools();”前面的注釋符號去掉,使得程序執(zhí)行這一句代碼,會發(fā)生什么事情呢?

會直接彈出Chromium內(nèi)核瀏覽器的開發(fā)調(diào)試工具。
直接選擇“Network”,在文本框內(nèi)輸入“mp3”,然后切換地圖,右側(cè)列表就會出現(xiàn)相應(yīng)的地圖音樂。右鍵-Copy-Copy link address,就可以復(fù)制音樂的網(wǎng)址了,然后就可以下載音樂了。其他資源也是類似的方法,就不多介紹了。

存在的問題
當(dāng)然,目前的新版本賽爾號微端還存在一些問題,比如下面這幾個(gè)。
①無法調(diào)整游戲窗口大小
無法調(diào)整大小玩游戲的時(shí)候是非常難受的一件事情,新版的微端原版本是無法進(jìn)行窗口大小調(diào)節(jié)的。

當(dāng)然,各位也可以按照上文介紹的方法,嘗試給微端“添加”調(diào)節(jié)窗口大小的功能。
②移動窗口有時(shí)會出現(xiàn)黑邊
移動窗口位置的時(shí)候,偶爾會出現(xiàn)很粗很粗的黑邊,比如下圖所示。

可能上面那張圖不太明顯,那么下面這張圖肯定就足夠明顯了,強(qiáng)迫癥看了很難受。

當(dāng)然,這個(gè)問題還是可以解決的,只需要將窗口最小化,然后再還原,黑邊就會消失了。
③白屏問題依然存在
32位程序意味著比較高的兼容性,它可以在32位系統(tǒng)和64位系統(tǒng)使用。但是32位程序也有一個(gè)致命的缺陷,那就是程序內(nèi)存上限比較小。賽爾號的某些動畫性能處理不是很好,容易導(dǎo)致程序內(nèi)存溢出,游戲崩潰白屏。
比如,在播放主線劇情“魂之再生”第三章時(shí)白屏,在魔靈王·斯摩亞蒂使用“攝魄令”時(shí)白屏。

避免白屏的一個(gè)方法就是將程序的窗口調(diào)小,不過目前新版微端本身并不能調(diào)整窗口大小。
④按下Ctrl+R鍵會提示錯(cuò)誤
這個(gè)應(yīng)該是main.js文件中代碼的問題,Ctrl+R熱鍵功能相關(guān)代碼沒有注釋完全,遺留了某些無用代碼。

⑤有時(shí)候程序會保留到后臺無法徹底關(guān)閉
有時(shí)點(diǎn)擊了關(guān)閉按鈕,程序窗口是不見了,但是后臺程序還掛著幾個(gè)呢。我忘了這個(gè)是如何觸發(fā)的了,之后再次嘗試也沒發(fā)生過。

⑥誤觸Ctrl+滾輪滾動后,再次打開程序可能出現(xiàn)窗口大小異常的情況
誤觸Ctrl+滾輪滾動以后,由于游戲網(wǎng)頁本身并不會調(diào)整大小,但是程序窗口會調(diào)整大小,所以會出現(xiàn)白邊。

保持上面的窗口狀態(tài),關(guān)閉,然后重啟微端以后,窗口又會變得更小,使得網(wǎng)頁出現(xiàn)水平與豎直方向的滾動條。

解決方法是:繼續(xù)使用Ctrl+滾輪滾動調(diào)整窗口至默認(rèn)大小,或者直接按Crtl+0(數(shù)字0)即可。
誠然,目前的賽爾號微端的確存在一些問題。不過,也許游戲官方正在嘗試解決這些問題。

如果大家發(fā)現(xiàn)問題,可以去找游戲客服反饋。因此,關(guān)于后續(xù)的各種優(yōu)化,就需要大家共同努力了。
也希望微端能夠越改進(jìn)越好,祝大家游戲愉快。
本人水平有限,本文內(nèi)容僅供參考,如有不足還請見諒。
本文權(quán)當(dāng)是“拋磚引玉”,如果各位大佬也有對于賽爾號微端的一些見解,歡迎在評論區(qū)留言討論。
(本文作者:橙汁。轉(zhuǎn)載請注明出處,謝謝。)