來聊一下用模擬器玩手遊在硬體上的選擇,用一句話來總結的話:
"CPU核心多+RAM大"
對,就這一句而已...
很多時候手遊跑模擬器不順,確認過CPU跟RAM都沒滿載的話,先考慮換個模擬器試試。
下面稍微來聊一下模擬器的運作方式,
市面上常見的模擬器基本都是基於以下三個技術進行魔改:
VirtualBox:虛擬化軟體,負責建立 VM 環境。
Android-x86:讓Android系統能在x86架構的電腦上運行。
libhoudini:轉譯層,把ARM指令轉成x86格式執行,大多數手遊是為ARM環境設計的。
簡單來說,模擬器會用VirtualBox建立VM虛擬機,用Android-x86運行Android系統,
然後用libhoudini把遊戲的ARM指令轉成x86指令來執行。
在這多提一嘴libhoudini,因為Google的Android Studio提供的libndk效能不佳,
各家模擬器廠商乾脆借用Windows11裡的WSA來用,這項轉譯技術是由Intel所開發,
當年I社為了進軍手機市場的產物,只不過WSA預計明年會結束支援...
因此多開的需求跟VM虛擬機類似,而模擬器還加上了ARM指令轉譯這層負擔,
所以效能自然會受到影響。
個人經驗在單開情況下,同世代電腦低階配置跑起來跟高階配置的差距不會太大。
而且這種運行方式的相容性問題也不少,像遊戲閃退、渲染錯誤...之類
這也是為什麼模擬器廠商必須魔改上面的這些技術,才能確保手遊能正確執行,還能保持
效率。
這裡提個有趣的例子:
https://github.com/waydroid/waydroid/issues/788
這是一個去年五月在Linux模擬器不能執行蔚藍檔案的問題,
直到今年六月才有大佬依據MuMu魔改的libhoudini逆向推導,才發現是轉譯層的記憶體寫
入問題導致無法啟動遊戲。
(不知道是Nexon的工程師是為了防作弊還是菜,連用libndk都會出問題...)
這也是為什麼模擬器玩手遊出問題時,通常建議先到該遊戲的討論區問問大家用什麼
模擬器、怎麼設置比找硬體問題有效。
當然硬體上(?)的問題也是有可能的,最後來講兩個例子
https://bbs.nga.cn/read.php?tid=39971179&rand=373 (NGA討論串)
MuMu某幾版用AMD CPU開啟PBO在玩明日方舟時會產生類似加速器的效果,導致帳號被封
https://www.reddit.com/r/nvidia/comments/1g9i6ot/game_ready_driver_56603_
faqdiscussion/
Nvdia最新驅動566.03會讓Bluestacks在運行時CPU占用大幅增加