同樣的遊戲為什麼在PS4之類遊戲機上和電腦占內存大不一樣?貼圖消耗的不是顯存嗎?

之前老師跟我們討論這個問題,似乎在遊戲機上占內存很小,可是PC版占內存就非常高。我的猜測是操作系統處理不一樣,比如換頁方式方面,但是只是猜測。不知道各位有沒有詳細知道原因的 ================================== 因為很多知友認為是貼圖問題,那麼增加一點,當時老師做的對比是把遊戲機和pc畫質調到差不多 但是任然出現了內存差別巨大,所以他一直不認為是貼圖的問題 再補一點,我個人對這個不太了解,但是貼圖消耗的不是顯存嗎,應該不是內存


因為大多數情況下,遊戲機根本就用不上操作系統這種東西,直到Xbox 360為止,都是直接運行在內核模式的。操作系統自身要佔多大地方全都省下來了

===========

既然你認為是顯存,那你好好看看PS4到底有沒有區分內存和顯存


1999 年發布的 PS2 主內存 32MB,和同期 PC 相比小,不過考慮到 PS2 的價格以及沒有 OS 的話,其實並不算緊張……


聲明:由於主機的操作系統實現全部都是閉源的,除了主機的開發人員,誰也不知道到底怎麼具體實現的,如果覺得不可信,以下全部可以視作扯淡。

首先,PS3/Xbox 360以前,主機都是沒有操作系統的,一般的PC是讀BIOS再從硬碟讀取操作系統,主機上就只有BIOS了,唯一的用處是顯示LOGO和讀入遊戲程序(從CD、卡帶等介質中),所有內存管理、CPU調度都要靠開發者自己實現。

PS3/Xbox 360開始,主機有操作系統了,但是跟一般的PC操作系統不同的是,這個世代的主機沒有那麼多後台系統進程,非常精簡,一旦開始運行遊戲,只剩下網路、內存管理、CPU調度等最基本的進程在運行,留下儘可能多的內存給遊戲。雖然遊戲開始運行後還能使用其它功能,但是非常有限,甚至於你想改個網路設置都得先關遊戲。

PS4/Xbox One的操作系統的多任務稍微強了一點,但是還是跟PC非常不同的。

以PS4為例,CPU為8核心,其中操作系統只能使用2顆核心,別的6顆都是為遊戲留的;8G主存,操作系統只能用3G,5G都是為遊戲留的;甚至於還有一顆低功率的ARM處理器,專門用來處理視頻錄製和網路進程。所以基本上操作系統可以利用的硬體是有限的。

但其實這些都不是「同樣的遊戲為什麼在PS4之類遊戲機上和電腦占內存大不一樣」最直接的答案,只是為了讓你了解主機操作系統跟PC操作系統的區別,而且最大區別並不在內存管理上。

在最早的沒有操作系統的主機上,因為內存管理等等都是遊戲開發者自己實現的,就不說。

從有操作系統開始,應該是用了差不多的內存管理策略,因為據傳,PS3/PS4的操作系統都是FreeBSD改的,而Xbox用的則是Win的內核,具體哪一版不清楚。

回到問題本身:

某款遊戲相應的PC版佔用內存比主機版大的情況很好解釋,因為PC版畫面更好,畫面更好的話需要更高解析度的材質、貼圖等資源,更好的抗鋸齒,額外的特效等等,都需要佔用更多的內存。

如果你把PC版的解析度、特效、抗鋸齒等等都調到跟主機版相當,內存佔用應該不會差太多。

跟操作系統關係不大。


這篇文章寫得很好:

http://www.digitaltrends.com/computing/how-the-ps4-and-xbox-have-raised-pc-system-requirements/

25/06/15

------------------------------------------------------------------------------------------

冗長的回復。

全文(英文)源自digitaltrends.com, 感謝作者Matt Smith

感謝大家的回復,以下是全文的翻譯,不滿指出望指正。

27/06/15

--------------------------------------------------------------------------------------

How the PS4 and Xbox have raised PC system requirements

PS4及X盒子何以提升對個人電腦系統配置的要求

The rift between PC gamers and console gamers is filled with fanboys and flamebait, but there』s more to the clash than people with too much spare time. What happens in console gaming can drastically affect the PC industry, causing sudden and unwelcome upward shifts in system requirements.

關於個人電腦與家用主機間的差距這個話題已被玩家激烈的討論了無數次,然而相較於那些空閑時間甚多的人來說,以上二者的差距有過之而無不及。在家用主機上發生的一切會極大的影響個人電腦行業,這其中包括在系統要求方面驟然及不友好提升的轉變。

One such shift is sweeping through PC games. Recent titles like Middle Earth: Shadow of Mordor, Far Cry 4, and Assassin』s Creed: Unity have massive video memory requirements, rely on quad-core processors, and are full of other technical hitches. This is bad news for PC gamers.

這種轉變正影響著電腦遊戲行業。新近作品如中土世界:暗影魔多孤島驚魂4刺客信條:教團等都需要佔用極大的顯存,這樣的顯存需要四核處理器以及其他技術的支持。這一切對於電腦玩家來說無疑是個壞消息。

A review of modern console architecture

關於現代家用主機構造的檢視

The Xbox One and PlayStation 4 are very similar. Both have processors based on AMD』s 「Jaguar」 x86 processor architecture and both have graphics chips derived from AMD Radeon products. While some technical details differ, they are far more similar to each other than any competing consoles in the past.

X盒子1與玩站二者在結構構架方面非常類似。它們的處理器都是基於AMD』s 「Jaguar」 x86處理器的構架,且都擁有源於AMD Radeon的圖形晶元。雖然在一些技術層面的細節有些許不同,但二者間的相似點遠比任何過去競爭時候要多得多。

They』re also more similar to a PC than any console before (with the arguable exception of the original Xbox, which used a Pentium processor). The Xbox 360 and PlayStation 3 both used custom processors much different from the x86 processors in PCs, which made porting a chore. That』s why ports from one console to the other, or from console to PC, were often delayed or buggy.

二者同樣也比之前的任何家用主機要更加趨緊於個人電腦。X盒子360和玩站3都採用的是非常不同於個人電腦(x86處理器)的定製處理器,該處理器則使得埠成為一個難題(翻譯待議,port不懂翻,求IT達人甚解)。這也就是為什麼從一主機到另一個,或是從家用主機到個人電腦,埠常常會推遲或是存在漏洞。

You might think the new generation』s similarity to the PC would be a boon, and in some respects that』s true. Virtually all cross-platform games hit computers and consoles simultaneously and technical issues are less common than with early 360/PS3 ports. But the more advanced hardware of the Xbox One and PlayStation 4 is resulting in games that challenge mid-range PCs.

人們也許會認為新一代家用主機與個人電腦的相似點會是一個利好的消息,而在某些方面來說,確實是這樣。誠然,所有跨平台遊戲同時影響著電腦和家用主機,而相較於先前的360及PS3埠問題,現在在技術方面的問題已不是那麼常見了。但是,X盒子1以及玩站4更為先進的硬體配置正致使中檔個人電腦面臨重重難關。

Two words: Eight gigs

片語:八G

The most serious concern is the amount of shared system memory available. Both consoles have eight gigabytes of RAM for all system functions including graphics. Computers can offer more raw memory but have specific hardware assigned to the system (DDR3 or DDR4 RAM on the motherboard) and to graphics (GDDR3 or GDDR5 on the video card).

最為引起強烈關注的即共享系統內存的可用量。以上二家用主機都配備八G內存用以包括圖像等在內的所有系統功用。電腦雖然也可供以更多的源內存,但需要特殊的硬體裝配於系統及圖像。

This means games designed for the new consoles have access to far more video memory than a mid-range computer, and that』s starting to cause problems for PCs. Middle-Earth: Shadow of Mordor stunned enthusiasts at release by demanding an incredible six gigabytes of video memory for 「ultra」 textures. Even 「high」 requires up to three gigabytes, which is more than offered on most affordable video cards.

這意味著為新家用主機所製作的遊戲需要更加多的顯存,而這一需求,則遠遠超過了中期電腦的配置,以致引起了個人電腦的難題。中土世界在發售之時就曾給其熱衷者擺了一道,該遊戲為了「極麗」的遊戲畫面質地需要難以置信的六G顯存。而「嗨」畫質竟要額外的三G顯存,而這樣的顯存價格遠大出於大多數可負擔顯卡的價格。

Memory is a particularly thorny issue because it tends to cause dramatic shifts in game performance.

內存是個尤為棘手的問題,因為它會導致在遊戲運行方面極大的變化。

And it』s not alone. Assassin』s Creed: Unity』s recommended specs call for three gigabytes of video memory and eight gigs of system RAM. Call of Duty: Advanced Warfarerecommends four gigabytes of video memory and eight gigabytes of system RAM. Far Cry 4 is more forgiving, eating only two gigabytes of video memory, but that』s still four times the recommendation for Far Cry 3.

而該問題並非孤立存在。刺客信條:教團的建議配置需要三G顯存和八G系統內存。使命在召喚:現代戰爭推薦四G顯存和八G的系統內存。而孤島驚魂4則更為可以接受,只需兩G顯存,但其對系統的要求仍然是其上一代建議配置的四倍。

All the games listed have drastically better textures than any last-generation

release, and three of the four are open-world titles with extremely long draw distances. Want to see how the extra memory is being used? Load one of these new cross-platform games and see for yourself.

上述所有遊戲比任何其上一代都有顯著更好在畫面質地方面的提升,它們中的四分之三屬於沙盒開放式遊戲(此處不懂翻)。若想見識一下它們何以極端地吃掉你的內存,試玩片刻即見分曉。

Memory is a particularly thorny issue because it tends to cause dramatic shifts in game performance. Everything will seem to be fine for a time, then you』ll turn a corner, more textures come into memory than your card can handle, and serious stuttering occurs.

內存是個尤為棘手的問題,因為它會導致在遊戲運行方面極大的變化。開始的時候,也許所有都看起來是那麼的和諧,但當你轉了個彎,更多的TMD「極麗」需求你的內存,以致內存條扛不住時,磕巴的畫面,神級的走位就應運而生了。

The death of dual cores

雙核之歸土

Not just memory comes in eights. The new consoles also have eight x86 processor cores. Each one is less powerful than even a mid-range notebook processor from AMD or Intel, but they』re formidable when combined, and coding for eight slow cores is not similar to coding for two extremely quick cores.

現在不只內存進入八核時代了。新一代的家用主機也擁有八核的x86處理器。雖然它們其中任何一個的性能甚至還不如一台中檔電腦的AMD或英特爾處理器強勁,但當它們裝配到一起的時候,一台中檔電腦就難以與之抗衡了,將八個慢核編在一起與將兩個極快核編在一起並非相同。

Unlike video memory issues, which were almost unheard of prior to this year, the core problem has precedent. The Xbox 360 had three cores and the PlayStation 3 sorta-kinda had eight (its Cell processor was rather complex) so last-generation ports would occasionally trip up mid-range PCs. Grand Theft Auto IV is a good example of this. For the most part, though, raw processor speed made up for fewer cores.

顯存難題在今年之前幾乎聞所未聞,而與顯存難題不同,內核難題是有先例的。X盒子360擁有3核,而玩站3似乎有八核(其單元處理器構造相當之複雜),因此上一代家用主機埠已時不時地在挑戰中檔電腦了。俠盜獵車4就是一個不錯的例子。儘管就總體來說,源處理器速度由少量的核組成(求解,不懂翻)。

Far Cry 4

Now the issue is more severe. lists a quad-core as a minimum requirement and many owners of dual-core processors have reported the game won』t even launch. Assassin』s Creed: Unity, Call of Duty: AdvancedWarfare, and Middle Earth: Shadows of Mordor also list quad-cores as the minimum. These games will launch, but users will see occasional frame-rate issues that can』t be resolved by a quicker video card and may persist even with video settings at their lowest presets.

現今,這種問題愈演愈烈。廠家將四核作為最低配備以致眾多玩家被告知適用其雙核處理器平台的遊戲根本不會被發售。刺客信條:教團使命在召喚:現代戰爭中土世界:暗影魔多同樣將四核作為最低配備。這些遊戲將會有電腦版,但是玩家會遇見時斷時續的畫面跳幀問題,而這些問題無法通過更換更快速的顯卡來解決,即使將視頻選項調至最低,上述問題還是有可能會持續。

It』s hard to point to a single specific reason why new games need multiple cores. Unlike textures, which can be appreciated at a glance, the gameplay mechanics that strain a CPU are subtle. They include artificial intelligence, physics simulations, and off-screen interactions. Shadows of Mordor, for example, includes a 「Nemesis System」 that tracks enemy characters even when they』re not near the player. This feature is so demanding it』s disabled completely in the game』s 360/PS3 release.

為什麼新一代的遊戲需要多核這一問題,很難將其歸於一點。不同於畫質,其可以在你瞥眼一瞟的時候略過,遊玩機制在給予中央處理器壓力的時候則會不甚流暢。這包括人工智慧(AI),物理屬性模擬以及畫外交互。例如暗影魔多,其包含一個「剋星系統」,該系統負責追蹤敵人,甚至是在當他們遠離玩家角色的時候。當在360和PS3上發售時,這個功能被強烈要求完全隱去。

PC gaming just became more expensive

電腦遊戲正變得更加昂貴

Console ports have changed the expectations of PC gamers within just a few months. At the beginning of 2014 an owner of any mid-range rig with two gigabytes of RAM and a fast dual-core or mediocre quad was assured solid performance in most console ports. Issues, when they arose, were the result of poor optimization rather than a lack of raw power.

僅通過數月,家用主機埠就改變了個人電腦玩家的期望。在二零一四年初,擁有一台配備兩G內存及快速雙核或一般四核(翻譯待議)的電腦可以在大多數遊戲機埠中保障強硬遊戲表現。當有問題出現的時候,原因僅僅是因為缺乏優化而非缺乏源性能(翻譯待議)。

That』s no longer true. New cross-platform titles are putting computers to the test because they』re designed for consoles that, in certain ways, are fundamentally better for games than an average PC. A two-gigabyte video card is now mediocre at best and a decent quad-core is almost mandatory.

然而上述一切在現今看來,已非然。新一代跨平台作品將電腦放上了手術台,這是因為這些作品是為家用主機而生,確切的說,是對遊戲本身更有利而非一般性能電腦。兩G顯存在現在看來充其量僅為平庸,而一個像樣的四核已幾乎成為必備。

New cross-platform titles are putting computers to the test.

新一代跨平台作品將電腦放上了手術台。

This will force enthusiasts to upgrade their aging hardware. In March of last year we put together a budget Steam Machine for $500. It was great at the time, but both its processor and video card are now woefully out of date.

這會迫使熱衷粉升級其年邁的硬體。去年三月,我們花五百刀得到(翻譯待議)了一台划得來的蒸汽機(翻譯待議???電腦牌子?)。在那時,它很美,但現在看來,其處理器及顯卡已使其成為風燭殘年的老太,不中看,更不中用了。

New, inexpensive systems are threatened, as well. The base $550 Alienware Alpha has only a dual-core processor; the quad-core starts at $900. Gamers who purchase the cheaper model may be surprised to learn it can』t play games console players enjoy on a $350 Xbox One. Laptops will suffer as well. Dual-core processors remain common and only top-tier gaming notebooks have more than two gigabytes of video memory.

新的、低價的系統同樣也面臨著威脅。售價五百五十刀的外星人阿爾法基本款僅有一對雙核處理器,四核的則起價為九百刀。購買了廉價款的玩家也許會驚訝的意識到這貨根本玩不了家用主機玩家在一台價值三百五十刀X盒子1上玩的遊戲。一般筆電同樣表示很蛋疼。雙核處理器仍舊普遍,而僅僅只有高端遊戲本才會有超過兩GD的顯存。

In the short term these changes will make PC gaming difficult for players on a budget. Upgrading an old system will cost several hundred dollars, at the least, and that』s just for a processor and video card.

短期內,上述種種變化會使得電腦遊戲對於其玩家造成預算上的問題。因為升級舊系統至少會花費數百刀,而這僅僅是在處理器和顯卡上的開銷。

The silver lining, faint though it may be, is that these changes will encourage hardware manufacturers to bring their best in the next year or two. Expect to see particularly quick advancements in the video card arena, where AMD and Nvidia remain at each other』s throats. Necessity fosters innovation, and many PC gamers are now in need of new hardware.

綜上,也許有點繞(有點),上述變化會敦促硬體廠商在接下來的一至兩年下大力研發。顯卡性能預計會在這場競爭中有具體快速地提升,而這場競爭中,AMD及Nvidia仍舊是彼此的勁敵。

迫勢促革新,電腦亟待硬。


我以我自己製作遊戲的經驗來猜測一下,不對的請指正.

我的觀點是,遊戲類的程序中,內存的消耗主要還是在貼圖,模型,聲音上,其餘種類的內存佔用可以說微乎其微.

舉個例子來理解,假如2d遊戲的某個場景里有一個100*100像素大小的人物動畫,二十幀貼圖左右,那麼使用不壓縮的紋理的話,如果像素是RGB8888格式,這二十幀貼圖要佔用20*100*100*4位元組,接近1MB的內存消耗.

而在內存中表示這個人物的話,即使描述的再細,包括記錄位置,當前動畫幀數,血量,攻擊力等等,幾百個變數也夠了吧?每個變數4個位元組,一共才佔用多少空間?1k足夠足夠用了吧?

這根本就是級數的差距.

對於3d模型來說,一個人物的模型幾百幾千個頂點很正常吧?每個頂點要記錄位置,顏色,紋理坐標,法線等信息,這還沒有計算相應貼圖佔用的空間,這個內存需求量根本是遊戲邏輯部分所無法比的.

所以題主所說的內存之間的差距,我覺得從貼圖,模型,音效這三方面入手比較好.

首先我想排除的是音效,無論在pc還是主機上,我的感覺是音效是不會有區別的,現在聲音一般都是每秒44100個數據(解碼後的),一個遊戲里100個音效肯定足夠吧,每個音效平均3秒計算,44100*300*3*4位元組,約50MB.雖然大了點,但也算是極限情況了,而且和真實遊戲所佔用的內存相比,只是比較小的一部分.

排除其它可能,最後就落在了模型和貼圖上了.而同樣的遊戲,不同平台上,如果功能和外貌上沒有區別的話,那麼模型和貼圖應該也是一樣的. 但我們忽略了最重要的一點,那就是精細度的差別.

做過遊戲開發的都知道,遊戲里的圖片資源會有一個基礎參考的解析度.假如我們要為一個800*480解析度的手機製作遊戲,那麼一張全屏的背景貼圖,在打包的時候就是800*480的大小.載入內存的時候(採用不壓縮紋理,RGB8888格式)就是800*480*4位元組,約1.46MB的內存佔用,其它所有貼圖也都按照相應的比例以這個解析度為基準存放.

這樣當遊戲運行在比800*480高的解析度的設備的時候,圖像就會開始變的不清晰,反之則大部分情況不會.同樣如果你的目標設備最高解析度是2000*2000的話,你的遊戲資源做成4000*4000解析度,對遊戲效果的提升就有限了.

所以我的假設是:之所以出現主機和pc內存佔用量不一樣的情況,原因出在目標解析度上.以720p和1080p為例,同一張貼圖,兩者內存佔用之間達到2.25倍.

注意我說的是目標解析度(自創辭彙…),不是實際顯示的解析度.假如xbox設備支持的最高解析度是720p,那麼基本上遊戲都會以1280*720為基準存儲貼圖和模型.這是在遊戲安裝包和內存中就固定下來的,如果你把屏幕解析度調到1080p,顯卡也只是把720p的貼圖拉伸成1080p的來顯示,而內存中的數據是根本不會變的.

剩下的就是比對主機和pc所支持的解析度了,暫時還沒有這部分的數據,所以目前還只是猜想. 有空我會查詢一些具體數據來做支撐.

未完待續...


ps4和x1都用了農企的技術,cpu和gpu的內存空間共用,不需要像電腦一樣遊戲數據在內存顯存複製來複制去。這種不嚴格分顯存和內存,再加上系統精簡的好處,自然比電腦佔用內存少。

雙顯卡筆記本的用戶可以做一下試驗,核顯玩遊戲的內存佔用比只是比獨顯略高一些,但是沒有顯存區域佔用的內存了。不看性能,實際上對內存的利用率大大提高了。

實際上貼圖是需要內存的,我測試過幾個遊戲,貼圖解析度高了以後,遊戲的內存佔用也會變高,cod現代戰爭2的最低貼圖佔用700m內存,貼圖最高佔用到1.1g


一個是因為內存的使用率都給遊戲使用了,再一個是動態內存技術(PS4內存和顯存是共用,可動態分配的),最後就只能說,用了更高的科技了,雖然容量不算大,但內存帶寬非常可觀,使得內存和顯存的存取速度比PC的內存要快得多,雖然總容量不大,但是正由於存取速度更快,所以數據不會大量滯留在內存中使得容量緊張。


我的猜測就是做了優化。

遊戲最耗內存的應該還是貼圖數據,一幅畫面里那麼多景物,如果只看那些模型,其實導出來的模型文件並不大(只是記錄頂點數據,而且可以曲面細分,不一定要頂級精細度),貼圖占的空間 應該會更大。

優化貼圖的方法大概有壓縮(比如各種紋理壓縮演算法),還有mipmap(遠處景物用低質量貼圖)這些。

當然普通pc上應該也是會用到這些技術的(畢竟節省了貼圖數據大小也就節省了需要的帶寬)

我猜主機可能受益與統一定址架構,也就是說內存顯存合二為一了。可能pc上貼圖數據需要先載入內存,顯卡再從內存讀入顯存,也就是說貼圖數據出現了兩次。而統一定址的話,貼圖只需一份,至於cpu與顯卡訪問的衝突那就交給仲裁器了

當然這個只是我猜測。

此外一個遊戲幾十G,但不意味著每個場景或者每幅畫面都需要那麼多的貼圖數據,開發人員可能可以手動優化調整資源載入的數量、範圍,讓數據只在需要的時候才讀入內存。

對於主機來說,機器配置是確定的,開發人員優化也比較有針對性,相比之下,pc版要是學著對8核做大量優化,可能到4核上又廢了,換了iu又廢了。所以主機上的情形和pc上是不同的。

畢竟ps3才256m+256m呢,720p遊戲還不是跑起來了。


推薦閱讀:

PS3、Xbox 360 反盜版技術出色,那麼幾十年後的人如果還想了解這些平台上的遊戲,會不會陷入玩不了的窘境?
xbox體感遊戲如何進行開發?
為什麼ps4的性能沒有超越與其同時代的pc很多?
為什麼有些遊戲中簡單的過場用即時模型表演就可以做到卻還要錄成粗糙的動畫來多佔資源?
為什麼索尼不注重遊戲平台的向下兼容?

TAG:操作系統 | 遊戲機 | PlayStation3 | PlayStation4 |