Dlaczego konsole mają tak mało pamięci w porównaniu do klasycznych komputerów?

13

Pamiętam, że Playstation ma 2 MB pamięci RAM i 1 MB pamięci graficznej.

Playstation 3 ma teraz tylko 256 MB pamięci RAM i 256 MB pamięci graficznej, i jestem pewien, że w dniu premiery konsoli nawet „standardowa” pojemność laptopa wynosiła co najmniej 1 GB.

Dlaczego więc wkładają tak mało pamięci do swoich maszyn, podczas gdy programiści mogliby wiele skorzystać, mając więcej? Czy też pamięć jest znacznie szybsza niż komputery stacjonarne, a zatem droższa? A może deweloperzy nie są aż tak cenni? Co uważają inżynierowie Sony / XBox / Nintendo za taki sam powód?

żart
źródło

Odpowiedzi:

9

Jak powiedział @AttackingHobo, pamięć jest bardzo szybka i droga. Ponadto należy wziąć pod uwagę, że te konsole zostały uruchomione lata temu, kiedy ceny pamięci i sprzętu były wyższe.

Innym czynnikiem wpływającym na zwiększenie wydajności konsol pod względem zasobów, które wydają się być bardzo ograniczone, jest to, że ponieważ każda konsola jest identyczna, my jako programiści możemy skorzystać z optymalizacji specyficznych dla platformy. Na PC nie możesz tego zrobić tak często, dlatego musisz mieć mocniejszy komputer PC, aby mógł brutalnie przebić się przez podobne niezoptymalizowane zadanie.

Nie oznacza to, że nie ma optymalizacji w grach na PC, ale jest w innych obszarach niż konsole, a ogólnie ze względu na szeroki zakres obsługiwanego sprzętu jest mniej skuteczny.

Nate
źródło
Nie chodzi tylko o to, że pamięć jest droga, ale o to, że cena konsol jest znacznie niższa niż w przypadku typowego komputera do gier. Istnieją korzyści skali, ale ostatecznie konsole po prostu nie mogą mieć tak dobrego sprzętu jak komputer do gier, ponieważ muszą sprzedawać za znacznie mniej pieniędzy.
Nathan Reed,
@NathanReed To trudne porównanie - od jakiegoś czasu same konsole zostały sprzedane ze stratą, mając nadzieję na odzyskanie straty poprzez sprzedaż gier (ogromna część kosztów gry na konsolę ponosi producent konsoli ). IIRC z dwóch ostatnich generacji, tylko Wii zostało sprzedane z bezpośrednim zyskiem.
Luaan
5

Oczywiście chcą, aby były tanie. Jeśli chodzi o PS3, ceny pamięci były bardzo wysokie w momencie premiery, ale wkrótce spadły.

Nie ma dużego, nieporęcznego systemu operacyjnego działającego razem z grami, więc w przeciwieństwie do programistów systemu Windows, którzy faktycznie mogą wykorzystać całą pamięć, z łatwością masz więcej „miejsca” na PS3 niż na komputerze XP z 512 MB pamięci systemowej. Znając dokładne specyfikacje sprzętu, łatwiej jest przekroczyć limit.

Większość gier komputerowych pochłaniających pamięć można do pewnego stopnia przypisać leniwym programistom, tak naprawdę niewiele można zrobić z większą ilością pamięci, poza tym, że nie zależy jej tak bardzo na jej zapełnieniu.

Chociaż pamięć konsoli jest na ogół szybka, wątpię, aby była znacznie droższa, ale w dużej mierze rozwój technologii kosztuje, sama produkcja prawdopodobnie nie jest dużo droższa. Więc kiedy Sony i Microsoft robią lub kupują dużą kupę szybkiej pamięci, nie staje się ona dużo droższa niż byłaby wolniejsza pamięć.

Wszystko sprowadza się do tego, że wartość dodaną dla konsumenta uważa się za zbyt małą, aby uzasadnić dodatkową cenę.

aaaaaaaaaaaa
źródło
Nie do końca prawda o „grach zjadających pamięć na PC”, ponieważ można uniknąć znacznych optymalizacji, przechowując dodatkowe dane. Na przykład, po prostu przechowując prostą indeksowaną listę wierzchołków i ich związek z innymi wierzchołkami, możesz przekształcić proces, który zajmuje kilka sekund, w taki, który zajmuje milisekundy (np. Tri-stripping tri-list, dodałem taką optymalizację do naszej offline, wieloplatformowy system eksportu). Ten rodzaj danych zwiększył rozmiar naszych siatek o 50%. Siatki nie są tak duże, ale stosują podobne rzeczy do najbardziej dynamicznych systemów, a otrzymasz ogromną premię do prędkości kosztem mem
Grant Peters
W kilku przypadkach możesz poświęcić pamięć dla szybkości lub odwrotnie, to prawda, ale nie sądzę, żeby to miało duże znaczenie dla mojego punktu widzenia.
aaaaaaaaaaaa
1
@eBusiness Nie powiedziałbym, że „naprawdę niewiele można zrobić z większą ilością pamięci”. Gry na PC mogą ładować modele i tekstury o wyższej rozdzielczości, niż gry na konsole. mogą zatrzymać więcej świata w pamięci, aby mieć mniej do przesyłania strumieniowego; i często używają wyższych rozdzielczości ekranu i ustawień MSAA, które zajmują o wiele więcej pamięci dla buforów ramki. Wręcz przeciwnie, bardzo łatwo jest zjadać pamięć, up-rezzing rzeczy. :)
Nathan Reed,
3

Pamięć w 360 i PS3 jest bardzo szybka i droga.

Jeśli ilość pamięci była większa przy uruchomieniu konsoli, albo musieliby podnieść cenę lub ponieść jeszcze większą stratę na sprzedaną konsolę.

AttackingHobo
źródło
3

Oprócz tego, co zauważyli inni, chciałbym powiedzieć, że konsole mają bardzo małe obciążenie, jeśli chodzi o pamięć (XBox 360 rezerwuje tylko ~ 32 MB pamięci RAM na użytek systemu, reszta 512 MB jest przeznaczona na gra). Gdy dowiesz się, co jest już używane przez system operacyjny i aplikacje działające w tle na większości komputerów osobistych, zorientujesz się, że nie ma zbyt dużo wolnej pamięci RAM.

Na szczęście nowoczesne systemy operacyjne mają systemy stronicowania dla swojej pamięci RAM, więc generalnie nie musimy się martwić zużyciem pamięci, ale nawet w grach komputerowych dobrym pomysłem byłoby trzymanie się limitu 256 do 512 MB pamięci, więc nie musisz t zacznij niszczyć pamięć stronicowaną i zepsuć wydajność gry.

Grant Peters
źródło
2

Rozmiar to nie wszystko;)

Nie na serio, to nie jest, szybkość pamięci jest kluczową statystyką, która jest przeoczana przez wiele osób. Lepsza jest 256-megabajtowa szybka pamięć niż większa wolniejsza pamięć spead.

Problem stanowi także koszt. Uważam, że zarówno XBox 360, jak i Playstation 3 były / są sprzedawane ze stratą

LiamB
źródło
3
Chociaż szybkość pamięci jest ważna, nie nadrabia ona rozmiarów, ale jeśli nie zmieścisz wszystkich często używanych danych w pamięci, będziesz musiał zamienić na dysk lub odczytać z napędu optycznego, a to tak naprawdę nie zmniejszy się, gdy spróbuj renderować płynną animację.
aaaaaaaaaaaa