手機?不要看switch能移動就把它和手機類比瞭。

switch的芯片提供者是誰?天下著名軍火商英偉達啊。英偉達是怎麼做移動GPU的?拿桌面架構直接砍啊,把Geforce 9xx系列的GM20x顯卡架構直接砍到256個流處理器,配上幾個ARM處理器就完成瞭啊,歸根結底ARM處理器部分是半賣半送的啊,人賣的就是 和同代電腦架構一模一樣的GPU。 從這點上看,switch的硬件特性更接近於PC而不是手機。

為什麼switch性能不如手機,手機卻不能模擬switch?

而從驅動層面上更容易論證這點。 nv給switch提供的系統,除瞭有任天堂和nv聯合優化的圖形API加持外,這塊GPU當然是桌面上能跑的API它都支持,OpenGL(不是OpenGL ES)、DirectX12、Vulkan 1.1等全都OK。而對比手機裡面的算是GPU第一梯隊的高通Adreno,事實上直到865時代,連個標準的Open GL驅動都是社區第三方在維護,而且API版本很低,絕大多數手機上隻有OpenGL ES可用。 至於Vulkan,那確實可用啊,但是絕大多數遊戲是不用Vulkan的。

為什麼switch性能不如手機,手機卻不能模擬switch?

而且GM20B相對於手機的GPU差異也遠遠不止這點API這麼簡單。具體在英偉達的介紹裡面可以比較清晰的瞭解,但是總結下來就是:這是一個PC顯卡,這裡的遊戲開發思路是PC、主機思路,這裡的實時渲染器是延遲渲染為主。

手機要模擬NS,就至少得面對OpenGL ES是OpenGL的子集這個問題,簡單地說,怕是最常用的OpenGL你就不能用瞭。而隻有先進的Vulkan,才能允許你從0模擬一套OpenGL的渲染器出來。目前手機上唯一的switch模擬器貌似就是這麼做的。但是這裡還有一個問題,廠商給Vulkan驅動的優化參差不齊,性能兼容性差異本身就非常巨大瞭。

至於CPU上面,反而基本不是問題。因為 手機和switch都是ARM處理器,基本上操作不需要太多轉換。

但是註意我上文提到的,switch除瞭OpenGL圖形庫外,還有任天堂自傢的庫,這套完全不開源的部分,就全得靠猜瞭。


再補一點,依靠巨大的性能差異來全盤軟件模擬的時代已經隨著3D遊戲的鋪開是徹底淪為瞭過去時。根本原因就是你沒法模擬出一個性能夠用的GPU出來。 對於繪圖這塊現在唯一的效率方案就是把遊戲主機原來的圖形調用轉移到目標GPU上,使用OpenGL這類通用API完成渲染。但是畢竟這些遊戲是經過自動轉義運行的,在模擬器上和在原生系統上對於很多操作的解釋運行是不一樣的,所以即便硬件差不多特性也100%支持,依然會出現諸如紋理錯位、渲染順序顛倒等詭異錯誤,絕大多數情況下需要人工調整適配優化(比如PSP山脊賽車的儀表盤問題等),不調整直接運行而沒有任何圖形錯誤的遊戲是鳳毛麟角。

為什麼switch性能不如手機,手機卻不能模擬switch?

而CPU部分,隨著遊戲主機也變成瞭具有操作系統的設備,直接硬件層模擬也失去瞭必要性,隻需要將遊戲主機的CPU部分操作對應轉換到宿主系統上就行瞭,也不再需要具體到多少倍的性能。但是吃性能和bug多是肯定的,因為除瞭遊戲本身的CPU占用,CPU還要負責一些在原平臺上就是專門模塊或者無需解決的事情,比如加解密、貼圖縮放這些操作。而手機的CPU很多情況下還是中看不中用的,運行復雜計算其實非常容易吃滿,比如PPSSPP的貼圖放大,非常吃CPU以至於極少有手機能真的開滿。

創作者介紹
創作者 3C王者 的頭像
3C王者宇晨

3C王者

3C王者宇晨 發表在 痞客邦 留言(0) 人氣( 4 )