http://gamingbolt.com/xbox-one-ddr3-ram-vs-playstation-4-gddr5-ram-both-are-sufficient-for-realistic-lighting
We had a chance to speak founder and COO of Geomerics Chris Doran, whose company created Enlighten which is used for creating lighting for games like Battlefield 4 on the subject of – what else? – next generation consoles. Specifically, we compared the Xbox One’s 8 GB DDR3 RAM and the PlayStation 4′s 8 GB DDR5 RAM, with 5 GB and 7 GB allocated to games respectively, and asked Doran which is a better solution for crafting realistic lighting.
基本上是開發商們會外包光源的部份給這間公司
然後這間公司在訪談的時候漏洩出PS4留給遊戲7GB的資料了XD
在回應裡面的討論蠻大的、
不過礙於空間不足、回個完整點的好了。
LAEVATEIN:誰跟你說VM是拿來多工的? 要多工multithread就好了 有必要去做開一個VM然後在上面運行一個OS這麼嚇人的事嗎?昨天21:05
LAEVATEIN:還要我去搞清楚VM的理由是什麼...這之前是不是有人要先搞清楚VM本身是什麼?昨天21:06
LAEVATEIN:答案就在我一開始提的問題裡 主OS如果就可以包辦所有事 那我何必在這OS之上又開VM再去運行一個OS? 這都是為了可以實行某個主OS無法實作的"功能"昨天21:10
LAEVATEIN:還有 遊戲本身跟適不適合VM一點關係都沒有 VM本來就不是為遊戲而生 但是要不要讓遊戲代入VM所提供的功能 完全是看遊戲設計者而已昨天21:13
夢蠹:我在想VM是不是拿來做智慧配對的暫存用XD昨天22:21
ハレンチ・von・ヤロウ:還不就是要跑metro app跟確保多工的穩定性,app當掉也不會影響遊戲8小時前
ハレンチ・von・ヤロウ:基本上就是一般人在pc上跑vm的理由8小時前
LAEVATEIN:VM一開始最原初的目的 便是在既有的OS上執行另一個OS 為的是可以使用另一個OS的application 一般人在pc上跑VM也脫離不了這個本質7小時前
LAEVATEIN:跑metro app還可以視為目的之一 但是多工穩定度卻是八竿子打不著關係 VM上的副OS當了主OS不會怎樣 但是主OS當了副OS會一起當7小時前
LAEVATEIN:而且VM通常會對主機造成一定程度的負擔 只為了穩定度特別分出去使用可以說本末倒置 不如把原本的環境寫好一點再來執行需要的應用程式7小時前
LAEVATEIN:另外..嘛 雖然資訊理論開宗明義這世上不存在沒有瑕疵的系統 但是程式設計者仍然不能以當機為前提來做一個系統的規劃...會被醮...7小時前
跑VM是為了
1. 隔離能力/安全性
一個VM死了/當了/被HACK了正常來說也不會影響其他的VM
2. Snapshot 能力
可以輕易的儲存各VM的State方便抓出問題
3. Multitask
一台Server可以跑很多種不同互不相容的程式
(比方說同時跑LINUX跟WINDOWS運行不同的東西)
4. 細分資源
一台VM並不是隨時需要一整個Server的資源、但是很多個VM就可以依照各個VM的需求榨乾他
5. 彈性
按照需求來提高/降低運行的VM的數量
6. 降低成本
一個Server可以同時當作10幾台電腦跑不是問題
7. 方便複製
一個VM就一個檔案、要拿來拿去也方便。新的Server/VM的Set up time 相當短
8. 統一管理
VM 基本上開關都可以從一個地方遠端管理。
也可以輕鬆監控整個系統的負載/運行狀況;並且會主動跟你警告一些問題。(像是CPU不足啦、RAM不足啦)
9. 安定性
很多個程式都放在同一個系統裡時有時候會造成衝突。
隔離在不同的VM即可防止衝突發生。
10. 統一性
你不需要為了不同的硬體而安裝不同的驅動。
即使硬體差了十萬八千里、所有的VM所看到的硬體基本上都是固定那些而已。
當然還有一些其他我還沒點出來的好處、不過就我有拿過VMWARE的證照的經驗來說。
這些是我5分鐘以內又不去翻資料馬上講得出來的主要理由。
應該還有漏掉一些不過基本上差不多就這樣。
VM 對平常的消費者來說最大價值的確就是運行其他OS、但是VM真正價值說實在話並不在那裏。
拿Windows運行VM來跑Linux實在話並不是主要使用方法XD
真的要跑VM的話最底層根本就不會是windows XD
那麼說老實話、VM 大多的功能性都是屬於伺服器才會顯得出真正價值的功能
缺陷的話當然是多多少少會帶來一些性能上的影響、
以及當有一些VM吃了很多效能會影響到其他的VM
當然、Xbone 的系統蠻封閉的、所以互相影響的可能性我想是相當低的。
畢竟只要做好資源配額就可以避免遊戲需要的資源被吃掉。
(而我們也有這個相關的資料、我直接貼在最下面)
Hypervisor 雖然基本上performance hit 很低、但是多一層就是要花一些資源去做
影響多多少少還是會存在
拿到家機來說、我認為最大的作用主要就是避免運行什麼APP的時候會造成遊戲當機、
以及防止什麼APP去引發大型的安全性漏洞導致XBOX ONE變成盜版機。
VM上能跑的東西OS一定也能跑。
今天問題主要是微軟想要隔離他而已。
http://kotaku.com/the-five-possible-states-of-xbox-one-games-are-strangel-509597078
Xbox One 遊戲基本上都是跑在VM裡面、所以當然系統因此也可以對它做資源配額
而怎麼配的已經有被討論過了
1) Running: The game is loaded in memory and is fully running. The game has full access to the reserved system resources, which are six CPU cores, 90 percent of GPU processing power, and 5 GB of memory. The game is rendering full-screen and the user can interact with it.2) Constrained: The game is loaded in memory and is still running, but it has limited access to the system resources. The game is not rendering full screen in this state; it either is rendering to a reduced area of the screen or is not visible at all. The user cannot interact with the game in this state. System resource limits in this state are four CPUs, 5 GB of memory, and 45 percent of GPU power if the game is rendering to a reduced area of the screen, or 10 percent of GPU power if the game is not visible.3) Suspended: The game is loaded in memory but is not running, meaning that the system has stopped scheduling all threads in the game process. The game has no access to CPUs or to the GPU processing power, but it still has the same 5 GB of memory reserved.4) NotRunning: The game is not loaded in memory and is not running, and the system has no game-history information about the previous execution of the game. A game would be in NotRunning state in any of these three scenarios:-The game has not been run since the console started.
-The game crashed during the last execution.
-The game did not properly handle the suspend process during the last execution and was forced to exit by the system.
5) Terminated: The game is not loaded in memory and is not running, which is identical to the NotRunning state in terms of system resource usage. Terminated state, however, indicates that during the last execution of the game, the game process was successfully suspended and then terminated by the system. This means that the game had a chance to save its state as it was suspended; the next time the game is activated, it can load this previous state data and continue the user experience from the same position. A game, for example, can start from the same level and position in the player’s last session without showing any front-end menu.
沒有留言:
張貼留言