作為全球最火的遊戲之一,【英雄聯盟】的受眾可謂是遍布五湖四海,因此這款遊戲的每一次版本更新也牽動了無數人的關註。日前【英雄聯盟】方面在3月8日釋出的13.5版本更新公告中宣布,自2023年4月4日(即 13.7 版本更新後)開始,將不再支持32位元的Windows作業系統。也就是說,此後【英雄聯盟】及【雲頂之弈】都需要64位元的Windows系統才能執行。
根據【英雄聯盟】制作方拳頭遊戲的說法,使用32位元作業系統的玩家在13.7版本更新後,就將收到一條遊戲不再支持該系統的提示。而促使其做出這一改變的原因,則是目前正在使用64位元作業系統的玩家,已經占據了整個使用者群體的99.9%。而在釋出新內容的同時還要維護老硬體,無論從開發、還是測試的角度無疑都需要更多的資源,因此放棄維護老裝置顯然也是更經濟的做法。
【英雄聯盟】不再支持32位元Windows這件事,或許有許多玩家其實並不在意。畢竟根據Steam今年2月公布的軟硬體調查數據顯示,64位元作業系統已經成為了Steam玩家中的主流,僅僅只有0.09%的使用者還在使用32位元的Windows 7,至於更早的Windows XP則早已「消失」。然而【英雄聯盟】這款覆蓋了全球大量玩家的現象級網遊放棄32位元系統,絕對可以稱得上是個標誌性事件,同時也意味著一個時代的終結。
為什麽直到2023年,拳頭遊戲才放棄在32位元作業系統上部署遊戲呢?其實回答這個問題就要先搞清楚,32位元與64位元這兩個關鍵詞的差異。
從馮·諾依曼機到現在大家熟知的個人電腦,電腦裝置一直用的是二進制邏輯,也就是0和1(實際是高電位和低電位)來表示資訊,因此32位元和64位元分別指的就是處理器在單位時間內,能夠一次處理的二進制數位數分別為32位元和64位元。
而Windows是32位元還是64位元也並非由微軟來決定,而是取決於比作業系統更底層的CPU。Intel早在1978年就推出了著名的16位元處理器Intel 8086,並且這顆CPU對電腦的發展影響巨大,此後的286、386、486、奔騰處理器也都是在8086的基礎上演變而來,而8086使用的這套指令集則稱為x86指令集。
所以在此之後的CPU為更好的相容性,就需要執行在16位元模式下,這就是真實模式(Real Mode)。然後再根據引導跳轉到32位元的保護模式(Protection Mode),如果是64位元系統,則會再被引導至64位元的長模式(Long Mode)。
32位元和64位元作業系統最大的差異,就在於系統的最大尋址空間。工作在32位元保護模式下的CPU,它的記憶體尋址範圍理論上是2^32bytes、也就是4GB,而64位元系統的最大記憶體尋址空間為2的64次方bytes,可尋址空間達到了驚人的16TB。當然,尋址能力造成的記憶體限制其實是可以透過技術手段來突破的,當年硬體廠商就在CPU中加入了一個叫做「實體位址擴充套件(PAE)」的功能。
但問題在於,PAE這樣的技術還存在相容性問題,所以它並不穩定。在硬體廠商與微軟來回扯皮之後,微軟方面強制在Windows內核中把實體位址空間限制為4GB,又強行關閉了MMIO重對映,導致32位元的Windows系統就只有3.24GB記憶體可用。此時即使是將記憶體增加到16GB,也仍然只有3.24GB可用。也就是說增加的記憶體非但沒有用,反倒是被白白浪費掉了。
那麽3.24GB的記憶體意味著什麽呢?對於一款在2009年就已問世的網遊而言,它顯然是綽綽有余了。彼時主流網遊對於系統記憶體的要求,普遍也只停留在1GB、乃至2GB的水平。只不過在過去十余年間硬體技術的快速叠代,導致如今16GB記憶體才是玩家的主流配置,【英雄聯盟】官網上的推薦配置也已經從當年的1GB、變成了現在的4GB。
然而想必許多玩家都知道,遊戲廠商給出的最低配置基本上就等同於遊戲僅僅能夠執行,但這顯然是不夠的,特別是對於【英雄聯盟】這樣的MOBA遊戲來說,玩家追求的是流暢。
現階段如果繼續使用32位元作業系統來玩【英雄聯盟】,體驗必然會相當糟糕。畢竟隨著遊戲版本的更叠,更精美的貼圖、更絢麗的特效對於記憶體的壓力越來越大。當32位元Windows系統只有3.24GB記憶體可用時,【英雄聯盟】要求的卻是4GB才能流暢執行。
系統記憶體緊張時會發生什麽呢?當一個套用在申請記憶體時,系統會檢視是否有空閑的實體記憶體,如果有就直接分配實體記憶體,並建立虛擬記憶體與實體記憶體之間的對映關系。可如果沒有空閑的實體記憶體,那麽系統內核就會開始進行回收記憶體的工作,一旦執行記憶體回收後,空閑的實體記憶體仍無法滿足此次的實體記憶體申請,系統就會觸發OOM(Out of Memory)機制。
OOM機制會根據演算法選擇一個占用實體記憶體較高的行程、然後將其殺掉,以便釋放記憶體資源。簡單來說,如果電腦的記憶體有限,由於Windows系統自身也會占據一定的記憶體,再加上【英雄聯盟】本身對記憶體的需求上漲,在2009年時還有些富余的3.24GB記憶體到了2023年,就變得有些捉襟見肘了,以至於使用32位元Windows系統的玩家,會遇到遊戲執行時突然崩潰的情況。畢竟【英雄聯盟】的記憶體開銷大、優先級又不高,系統就會優先回收這部份資源。
然而不那麽熟悉PC相關知識的玩家可能並不了解這些,此時他們只知道遊戲玩著玩著就沒了,也就只會對拳頭遊戲有抱怨了。為了這部份玩家的體驗,在過去的很長一段時間裏,拳頭遊戲就必須要投入資源來維護32位元版本的體驗。可隨著時間的推移,即使PC的換機周期再長,越來越多的玩家陸續完成了PC的更新換代,所在使用32位元CPU的電腦也越來越少,因此這才是拳頭遊戲敢於宣布【英雄聯盟】需要64位元Windows才能玩的原因。
事實上,隔壁的【魔獸世界】早在2018年就已宣布將停止支持32位元系統,【DOTA2】也在2021年宣布移除對32位元系統的支持。所以在許多業內人士看來,以【英雄聯盟】放棄32位元作業系統為標誌,未來64位元系統也勢必將會成為整個遊戲行業唯一的選擇。