PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Künftige High End PCs und 32bit Spiele


Windi
2005-09-19, 18:29:44
Ich hoff mal das ihr mir helfen könnt. Ich hab mir ein paar Gedanken um das 32bit Problem und die kommende Hardware Jahr gemacht. Gerade in der Kombination sehe ich einige Probleme. Sicher bin ich mir aber nicht ob das wirklich ernsthafte Probleme sind oder ob die vieleicht schon längst gelöst sind.

So nun zum Problem: Bei einem 32bit System hab ich 4GB Adressraum zur Verfügung, davon muss ich allerdings die 512MB für die PCI Geräte abziehen und den restlichen im System verbautem Speicher. Jetzt tauchen allerdings die ersten Daten vom r520 mit 512MB auf, der auch noch Crossfire fähig ist. Man kann also nochmals 1024MB vom Adressraum abziehen. Zusätzlich kommt noch die PhysX Karte mit (ich glaube 256MB) und die neuen Soundkarten von Creative, bei denen auch noch Speicher verbaut sein kann.
Wenn man alles abzieht ist man gerade noch bei 2GB verfügbarem Adressraum. Und dann kommt noch die mögliche Fragmentierung des Adressraumes hinzu.
Könnte dies, gerade bei älteren Spielen, zu Problemen führen? Die Spieleentwickler haben in der Vergangenheit wohl nicht damit gerechnet, das man in der 32bit Welt mal deutlich weniger als 3GB Adresssraum zur Verfügung hat. Könnten ältere Spiele dadurch vieleicht langsamer laufen oder häufiger Nachladen müssen, vieleicht sogar Ruckler haben die einige Sekunden andauern?
Das Problem seh ich allerdings auch bei neueren Spielen. Bei HL2 nützt es anscheinend nichts 2GB im Rechner zu haben (HL2 verbraucht wohl so viel Adressraum, das man kaum mehr als 800MB Speicher nutzen kann) Bei Battelfield 2 genau das Gegenteil, hier hätte das Spiel am Liebsten 2GB Speicher, wenn aber der Adressraum ausgeht kann das Spiel nicht einmal die nutzen.

mapel110
2005-09-20, 03:19:52
Das hat wenig mit Spekulationen zu tun. Unsere Gurus können das sicher gut erklären. *move*

Die gelbe Eule
2005-09-20, 04:31:18
Also Crossfire/SLI kann bisher nur den Speicher einer Karte nutzen, 512MB mehr im besten Falle bleiben Dir also noch ;)

GloomY
2005-09-20, 16:09:15
Der Adressraum ist eh zwischen Kernel- und User-Bereich aufgeteilt (unter Windows standardmäßig je 2 GiB). Im Kernel-Bereich liegen imho die Adressen der Geräte, die Memory-mapped I/O machen, also auch die PCI- und AGP-Geräte.
Das Programm hat also höchstens 2 GiB Adressraum zur Verfügung. Das ist von vorne herein (von Windows) festgelegt, also kann da auch im Nachhinein nichts passieren, wenn neue Geräte wie Grafik- oder Sound-Karten den Adressraum im Kernel-Bereich auffressen ;) Den bekommt der Prozess eh nicht für sich.

Angesichts dieser Limitierung machen eigentlich 2 GiB Speicher auf 32 Bit Systemen schon nicht mehr viel Sinn, denn 2 GiB RAM + Swap will ja irgendwie Adressraum haben, wobei jedem Prozess aber nur 2 GiB zustehen.


Mittlerweile glaube ich aber sowieso, dass der Adressraum, der durch mm-I/O verbaraucht wird, nicht so schlimm wie die Adressraumfragmentierung durch DLLs usw. ist. Letzteres zerstückelt den Adressraum auf 32 Bit Systemen in so kleine Teile, dass größere Speicheranforderungen am Stück dann einfach fehlschlagen. Das dürfte in der Praxis wohl die größere Einschränkungen sein.


btw: Mit bestimmten Kernels ist es unter Linux möglich bis zu 3,75 MiB des 4 GiB Adressraums für den Userspace zu belegen. Da kann man dann aber quasie keinerlei memory-mapped I/O mehr machen. Das sind spezielle Kernels, die für numerische Berechnungen angefertigt werden. Ich vermute mal, dass dies für Rechner ohne Graka (benötigt nur unnötig Adressraum für mm-I/O) gedacht ist, also ganz speziell das Ganze.

Poweraderrainer
2005-09-21, 10:48:37
@Gloomy

interessantes posting..wenn ich dich richtig verstehe liegt bei jedem rechner mit 32-bit windows der hauptspeicher+swapfile im userbereich des adressraums - und dieser ist immer auf 2 GiB limitiert. genauso wie der kernelbereich auf 2GiB limitert ist? - und dieser wert ist nicht variabel? dann machen mehr als 2GiB ram ja auch technisch gesehen keinen sinn, oder? bei 3GiB könnte man also max 66% davon nutzen.

habe ich dich falsch verstanden?

PatkIllA
2005-09-21, 10:50:38
Man kann den Userbereich per boot.ini Switch auf 3GiB ausweiten. Wenn das eine einzelne Anwendung nutzen will muss sie aber AFAIK dafür auch ausgelegt sein.

Coda
2005-09-21, 10:54:33
Der Swap wird nicht (direkt) in den Hauptspeicher eingeblendet. Er ist ein für die Applikation transparenter Ersatzspeicher, wenn das OS keinen physikalischen Speicher mehr für eine virtuelle Addresse allozieren kann.

Mehr als 2GiB RAM machen insofern Sinn, dass mehrere Apps zusammen durchaus mehr als 2GiB benützen können. Nur eine nicht.

Jede Applikation hat im Protected Mode seine eigenen Addressraum und "sieht" auch nichts anderes. Es ist auch nicht relevant ob nun ganz am Anfang oder am Ende von dem 2GiB Userspace-Addressraum Speicher von der Anwendung angefordert wird, da diese Speicheraddressen eh nur virtuell sind und durch die CPU in einem relativ komplizierten Prozess auf physikalische Addressen übersetzt werden.

Man kann den Userbereich per boot.ini Switch auf 3GiB ausweiten. Wenn das eine einzelne Anwendung nutzen will muss sie aber AFAIK dafür auch ausgelegt sein.Es ist nur ein Compilerflag, aber es muss wirklich dafür kompiliert werden.

Gast
2005-09-21, 11:19:51
dann machen mehr als 2GB ram ja auch technisch gesehen keinen sinn, oder? bei 3GiB könnte man also max 66% davon nutzen.



insofern macht mehr speicher schon sinn, weil unter WinXP jede anwendung ihren eigenen virtuellen adressbereich von 2GB bekommt.

wenn mehrere anwendungen gleichzeitig laufen können diese insgesamt durchaus mehr speicher belegen (sogar mehr als 4GB welcher der 32bit adressraum eigentlich hergibt)