PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welche Grafikspeicher-Limitierung gibt es bei 32 Bit OS?


Gast
2010-02-23, 23:46:06
Hallo!

Mich würde interessieren, wieviel Grafikkarten-Speicher ein 32Bit-Programm maximal nutzen kann.

Mir ist bekannt, dass ein 32Bit-OS maximal 4GB Arbeitsspeicher minus eines Offsets nutzen kann.
-> Ist dieser Offset überall gleich? Oder würden bei einer hypothetischen 2GB-Karte nur noch 2GB Hauptspeicher adressierbar sein?

Wie sieht das mit dem Grafikspeicher selbst aus? Aus Kompatibilitätsgründen sind die meisten Spiele heutzutage noch 32bittig. Soweit ich weiß, kann einem 32bit-Thread maximal 2GB zur Verfügung gestellt werden (auch bei einem 64Bit System).
->Macht eine 3GB Karte, wie die bald erscheinende Fermi aus Sicht heutiger spiele dann überhaupt schon Sinn?

Meine Frage kann ich folgendermaßen zusammenfassen:
Bei einem hypothetischen 32Bit-System mit 4GB RAM und 4GB Grafikspeicher könnte ich wieviel nutzen?

Folgend Arbeitsspeicher + Grafikspeicher

1.) 3,5GB + 4,0GB
2.) 3,5GB + 3,5GB
3.) 3,5GB + 2,0GB
4.) 2,0GB + 2,0 GB

Spasstiger
2010-02-24, 00:47:28
Der Grafikkartentreiber belegt pro GPU 256 MiB Adressraum - unabhängig davon, wie groß der Grafikspeicher ist. Der Grafiktreiber mappt die physikalischen Adressen dann selbst passend auf den verfügbaren Adressraum mit mehreren Pages.
Wenn man allerdings 3 GiB Grafikspeicher mit Textur- und Geometriedaten füllen will, sollten diese Daten auch in den Adressraum des Spiels passen.

Wie sieht das mit dem Grafikspeicher selbst aus? Aus Kompatibilitätsgründen sind die meisten Spiele heutzutage noch 32bittig. Soweit ich weiß, kann einem 32bit-Thread maximal 2GB zur Verfügung gestellt werden (auch bei einem 64Bit System).
Wenn das Large-Adress-Aware-Flag bei einer 32-Bit-Anwendung gesetzt ist, wird dieser Anwendung unter einem 64-Bit-OS 4 GiB Adressraum zur Verfügung gestellt.

Meine Frage kann ich folgendermaßen zusammenfassen:
Bei einem hypothetischen 32Bit-System mit 4GB RAM und 4GB Grafikspeicher könnte ich wieviel nutzen?
Es hängt von den weiteren verbauten Komponenten ab, aber in der Regel sind es wohl ~3,25 GiB RAM, die physikalisch zur Verfügung stehen.
Der Adressraum von Applikationen ist jeweils 2 GiB groß. Unter Verwendung des Large-Adress-Aware-Flags und des /3GB-Switches in der boot.ini kann auch ein 3 GiB großer Adressraum genutzt werden.

P.S.: Hier wird die ganze Thematik mit den Adressräumen von Applikationen etwas ausführlicher und anschaulicher erklärt:
http://www.3dcenter.org/artikel/das-large-address-aware-flag
Wichtig ist es, den Unterschied zwischen Userspace und Kernelspace zu verstehen. Die 256 MiB Adressraum des Grafiktreibers gehen vom Kernelspace ab.

Gast
2010-02-24, 00:55:54
Sehr gute Frage, ich muss jetzt allerdings in die Falle...

Die richtige Antwort lautet;
Die Möglichkeitet 1.-4. sind so allesamt falsch.

Hier gleich noch etwas zu Einstimmung;
http://www.tomshardware.com/de/foren/240733-4-wird-grafikspeicher-hauptspeicher-abgezogen

Umgehen lässt sich diese Ganze Problematik jedenfalls effektiv nur
durch die Anschaffung eins 64-Bit Systems.

Nach den Ankündigungen zu den neuen NV-Karten mit bis zu 1,5 bzw. 3 GB (schon heute haben wir ja Karten mit 1,7 und 2 GB) VRAM dürfte jedoch dem letzten Schwätzer klar werden, dass ein 64-Bit System innherhalb kürzester Zeit eine Notwendigkeit werden wird. Ansonsten sind u. U. erhebliche Abstriche bei Qualität und Leistungsfähigkeit vorgezeichnet.

Die 32-Bit Systeme sind definitiv angezählt...

Gast
2010-02-24, 02:55:06
Vielen Dank, die beiden Links haben mir auf jeden Fall schon weiter geholfen!

Wenn ich das also richtig verstanden habe, werden von allen 2^32 verfügbaren Adressen eben hinten ein paar Adressen zur internen Verarbeitung abgezwackt, pro GPU sind das - warum auch immer - 256MB. Ein 32Bit-Spiel würde also mit den gegebenen Arbeitsspeicher-Limitierungen (seien es 2GiB ohne LAA-Flag oder 3,25GiB mit) leben müssen.

Der Treiber schaufelt sich dann in einem eigenständigen Prozeß die verwendeten Daten auf die Grafikkarte rüber (von dem ich nix sehe, weil ich z.B. einfach nur die OpenGL Bibliothek benutze).

-> Da stellt sich mir doch die Frage, ob auf einem 64Bit Betriebssystem ein 32Bit Spiel ggf. sogar von MEHR als 4GB profitieren könnte!?
Wenn der Verarbeitungsprozess völlig entkoppelt verläuft, könnten z.B. mehr Frames vorgehalten werden, was der Geschwindigkeit zugute käme!(?)

Gast
2010-02-24, 09:58:42
Vielen Dank, die beiden Links haben mir auf jeden Fall schon weiter geholfen!

...

-> Da stellt sich mir doch die Frage, ob auf einem 64Bit Betriebssystem ein 32Bit Spiel ggf. sogar von MEHR als 4GB profitieren könnte!?
Wenn der Verarbeitungsprozess völlig entkoppelt verläuft, könnten z.B. mehr Frames vorgehalten werden, was der Geschwindigkeit zugute käme!(?)

Bitteschön.

Definitiv nein, da hier mit den 4 GB die maximale Adressierungsgrenze erreicht ist.
Ohnehin ist dies ein Frage, die derzeit keinerlei Praxisrelevanz besitzt.

Wie ich bereits schrieb - es sind im Zweifel recht umständliche "Kniffe" (LAAF/PAE) notwendig um großen Speicher via Adressierungserweiterung nutzbar zu machen. Dadurch ensteht zum einen Konfliktpotential bei der Adressierung und zum anderen kann ich mir nicht vorstellen, dass hierdurch per se Performancevorteile oder gar ein stabiler Betrieb des gesamten Systems gewährleistet sind.

Es führt kein Weg an 64-Bit vorbei.
Bei den aktuellen Systemen, die sowieso schon mit 4 GB DDR2/DDR3 daherkommen (siehe Ergebnisse der aktuellen Umfrage hier auf 3DC) stellt sich die Frage 32 oder 64-Bit schon gar nicht mehr.
An dem Speicherausbau der Grafikkarten wird das (auch in Zukunft) jedenfalls nicht aufgängt. Und es wird wohl noch ein ganzes Weilchen Dauern bis wir erste Grafikkarten für den Heimanwender mit 4 GB VRAM und mehr sehen.
1 GB hat sich nur recht langsam als neuer Standard nach den (512 MB) etabliert. Lediglich die neuesten High-End-Modelle bekommen mehr als 1 GB RAM spendiert. Für eine Fermi-Karte mir doppeltem Speicherausbau (3 GB -> 6 GB) ist die Zeit noch nicht reif.

Hier nochmal ein interessanter Link zum Thema;
http://blogs.technet.com/markrussinovich/archive/2008/07/21/3092070.aspx

Ich nutze übrigens Win XP Pro x64 mit 8 GB DDR2-1066 und einer Grafikkarte mit 1 GB VRAM (GTS 250). ;)

Gast
2010-02-24, 11:26:56
... Und es wird wohl noch ein ganzes Weilchen Dauern bis wir erste Grafikkarten für den Heimanwender mit 4 GB VRAM und mehr sehen.
1 GB hat sich nur recht langsam als neuer Standard nach den (512 MB) etabliert. Lediglich die neuesten High-End-Modelle bekommen mehr als 1 GB RAM spendiert. Für eine Fermi-Karte mir doppeltem Speicherausbau (3 GB -> 6 GB) ist die Zeit noch nicht reif.



Ja, das stimmt. Meine GF8800 hat 768MB - und ist mittlerweile 3 Jahre alt. Mich würde mal interessieren, wie sich der durchschnittliche verbaute Grafikspeicher in den letzten Jahren entwickelt hat - kennt einer ne Grafik?
(beim Steam Hardware-Survey habe ich dazu nix gefunden...)

-> Sind Arbeitsspeicher und Grafikspeicher eigentlich völlig unabhängig voneinander? Oder findet da irgendein Adress-Mapping statt?
Konkret gefragt: Könnte ich überhaupt von 2GB Grafikspeicher profitieren, wenn ich nur 1GB RAM hätte?

(del)
2010-02-24, 12:17:40
Es führt kein Weg an 64-Bit vorbei.Ja, nur wann? ;)

Bei den aktuellen Systemen, die sowieso schon mit 4 GB DDR2/DDR3 daherkommen (siehe Ergebnisse der aktuellen Umfrage hier auf 3DC) stellt sich die Frage 32 oder 64-Bit schon gar nicht mehr.Ob 3.25 oder 4 ist noch sowas von egal und tut sowas von nicht weh... Und der 32bit Adressraum hält nicht nur bei LAAF noch sowas von Stand.

Wirklich interessant ist es bei 6GB oder 8GB. 4GB mit Win64 ist genauso ein Zustand wie 3.25GB mit Win32.

@TS
Macht eine 2GB-Karte aus der heutigen Sicht Sinn? Oder 1GB, wenn man sich keine Tonen von community texturepacks draufknallt und/oder Auflösungen fährt, die die GPUs noch garnicht sinnvoll stemmen können?

Gast
2010-02-24, 13:50:31
@ Gast:
Hier bei PCGH findet sich zumindest eine schöne Übersicht mit den absoluten Zahlen;
http://www.pcgameshardware.de/aid,682757/Technische-Meilensteine-bei-der-Entwicklung-der-3D-Grafikkarten/Technologie/Wissen/bildergalerie/?iid=1086409
Die reicht eigentlich schon um ein Gefühl für die bisherige und zukünftige Entwicklung zu bekommen.
Für relative, statistische Zahlen -> nimm doch einfach das aktuellste Survey und dann ein paar ältere (so im Abstand von jeweils 2 Jahren, also 2008, 2006...). Kannst ja dann das Ergebnis hier posten. ;-)

Ja, das könntest du.
Lies doch einfach mal die hier geposteten Links noch durch.

@ Bessere Hälfte:
Wir sind im Prinzip schon so weit. Gut zu Erkennen z. B. an Intels Triple-Channel. Allein dessen Existenz forciert die Entwicklung hin zu RAM-Ausstattungen jenseits der sagenumwobenen 4 GB.
Die anderen Indizien sind hier übrigens schon aufgeführt.
Allgemein gesprochen - in rund 2-3 Jahren (aller spätestens in 5) wird ein Umstieg auf 64-Bit Systeme zwangsläufig in der Breite folgen, wenn man die neueste und Leistungsstäkste Technologie haben will. Jeder Gamer wird also zwangsläufig mit 64-Bit CPU und Betriebssystem konfrontiert sein.
Bei den Karten wird der Trend zu immer größeren Monitoren mit extrem hohen Auflösungen (neben den "gewöhnlichen" softwareseitigen Steigerungen der Bildqualität) sein übriges dazu Beitragen, dass auch auf den künftigen Grafikkarten der Verbrauch an VRAM massiv zunehmen wird.
In 5 Jahren werden wir - mit an absoluter Sicherheit grenzender Warscheinlichkeit - Grafikkarten mit 4 GB (+) V-RAM haben.

Der "Break-Even" liegt eben bei den 4 GB RAM. Und ja, [u]noch[/b] ist es realtiv egal. Nur wird sich das schon sehr bald wenden (siehe oben). Es ist darum bereits heute totaler Unsinn - auch bei 4 GB - noch an einem 32-Bit System festzuhalten. Ich beziehe diese Aussage übrigens auf Neuerwerbungen. Nicht auf Leute, die schon anno '06 mit 4 GB rumprotzen konnten... Bis 2008 krebste ich übrigens noch mit 1024 MB rum. Das war ein unsägliches Elend. :freak:

Eine 1 GB Karte ist heute schon sinnvoll. Darüber brauchen wir auch nicht zu diskutieren. Bei 2 GB geb' ich dir für den Moment noch recht, allerdings sind wir schon ziemlich nahe dran. Was GPUs inzwischen stemmen können hat ATI mit seiner HD5-Serie doch jüngst eindrucksvoll bewiesen, oder nicht?

StefanV
2010-02-24, 14:26:24
Zum Thema 64bit: siehe Signatur, der Link mit Adressraum und Speicher.

Zum RAM von GPUs: hier wird gemappt -> eine Grafikkarte hat also nicht 1GiB Speicher sondern z.B. 4x 256MiB, so dass nur 256MiB eingeblendet werden müsen.
Aber ob man das immer noch so macht und nicht mittlerer Weile den gesamten Speicher einblendet, kann ich nicht mit Sicherheit sagen.

Spasstiger
2010-02-24, 14:33:53
Aber ob man das immer noch so macht und nicht mittlerer Weile den gesamten Speicher einblendet, kann ich nicht mit Sicherheit sagen.
Wird immer noch so gemacht. Einfach mal im Gerätemanager die Ressourcenliste anzeigen lassen, dann sieht man schnell dass die Grafikkarte rund 256 MiB an Adressraum belegt. Das ist bei mir auch unter Windows XP x64 und Windows 7 x64 so, obwohl man hier direkt mappen könnte.

Bucklew
2010-02-24, 15:58:36
Nach den Ankündigungen zu den neuen NV-Karten mit bis zu 1,5 bzw. 3 GB (schon heute haben wir ja Karten mit 1,7 und 2 GB) VRAM dürfte jedoch dem letzten Schwätzer klar werden, dass ein 64-Bit System innherhalb kürzester Zeit eine Notwendigkeit werden wird. Ansonsten sind u. U. erhebliche Abstriche bei Qualität und Leistungsfähigkeit vorgezeichnet.
Ab GT200 belegen Nvidia-Karten nur 256MB region im Adressraum. Soweit ich weiß war das bei G80 noch anders (zumindest GeForce), wie es bei G92 ist weiß ich nicht mehr. Eine Fermikarte wird kaum 3GB an Adressraum belegen - dann würde ja ein 32bit Windows mit einer aktuellen Quadrokarte (4GB) gar nicht mehr starten ;)

Allerdings gab es Überlegungen diese region zu ändern, ganz 100%ig sicher kann ich es also nicht sagen, klar ist nur, dass ab spätestens GT200 nicht mehr der gesamte Speicher gemappt werden muss.

sloth9
2010-02-24, 20:01:41
Ab GT200 belegen Nvidia-Karten nur 256MB region im Adressraum. Soweit ich weiß war das bei G80 noch anders (zumindest GeForce), wie es bei G92 ist weiß ich nicht mehr. Eine Fermikarte wird kaum 3GB an Adressraum belegen - dann würde ja ein 32bit Windows mit einer aktuellen Quadrokarte (4GB) gar nicht mehr starten ;)

Allerdings gab es Überlegungen diese region zu ändern, ganz 100%ig sicher kann ich es also nicht sagen, klar ist nur, dass ab spätestens GT200 nicht mehr der gesamte Speicher gemappt werden muss.

Waren immer max. 256 pro Karte.

(del)
2010-02-25, 00:50:12
Wir sind im Prinzip schon so weit. Gut zu Erkennen z. B. an Intels Triple-Channel. Allein dessen Existenz forciert die Entwicklung hin zu RAM-Ausstattungen jenseits der sagenumwobenen 4 GB.Ich versuch mir das seit paar Minuten plausibel zu erklären :|

Die anderen Indizien sind hier übrigens schon aufgeführt.
Allgemein gesprochen - in rund 2-3 Jahren (aller spätestens in 5) wird ein Umstieg auf 64-Bit Systeme zwangsläufig in der Breite folgen, wenn man die neueste und Leistungsstäkste Technologie haben will.Ist doch ok. Das hat niemand anderes behauptet und wie ich sehe hat hier auch niemand etwas dagegen. Ich weiß nur nicht was immer diese Panikmache soll.

Als ich die 64bit-PR-Aktion von StedanV 2009 gelesen habe dachte ich teilweise, am nächsten morgen startet mein Rechner garnicht mehr, weil ich noch XP32 drauf habe.

Bei den Karten wird der Trend zu immer größeren Monitoren mit extrem hohen Auflösungen (neben den "gewöhnlichen" softwareseitigen Steigerungen der Bildqualität) sein übriges dazu Beitragen, dass auch auf den künftigen Grafikkarten der Verbrauch an VRAM massiv zunehmen wird.Das dagegen sehe ich viel skeptischer.

Was GPUs inzwischen stemmen können hat ATI mit seiner HD5-Serie doch jüngst eindrucksvoll bewiesen, oder nicht?Wirklich? Von welchen 64bit Massen sollen wir bei Schreihälsen mit 150W und mehr hier denn sprechen? :| Das kannst du auf 3DC aufziehen, aber nicht überall. In 5 Jahren gibt es vielleicht PS4 und XBox(sonstwas) und es erscheinen keine TopLevel-Titel mehr für den PC im gleichen Jahr wie auf diesen Konsolen. Vielleicht ;) Und dann?

Früher haben wir über Konsolen gelacht. Seit der PS3 und X360 sehen die Signaturen usw. aber auch hier anders aus. Selbst wenn es nur die Wii ist :tongue:

Bucklew
2010-02-25, 01:27:53
Waren immer max. 256 pro Karte.
Kann sein, weiß ich grad net mit 100%iger Sicherheit, deshalb gehaupte ich das net ;)

Der HeinZ
2010-02-25, 12:31:16
Früher haben wir über Konsolen gelacht. Seit der PS3 und X360 sehen die Signaturen usw. aber auch hier anders aus. Selbst wenn es nur die Wii ist :tongue:

Total Offtopic:
Naja.... die Konsolen sind ausreichend zum Spielen und mittlerweile auch zum DVD oder Blueray gucken.... Eigentlich haben sie garkeine daseins berechtigung. Man könnte am PC genausogut ein windows profil erstellen, das sich nur ab einer bestimmten Konfiguration starten lässt und es Konsole 1,2,3 usw. nennen. Den Spieleherstellern gibt man diese Limiterung an die Hand und dann wird fest auf diese Konfguration programmiert, wer mehr Power hat wird einfach künstlich gebremst, wer weniger hat bekommt garnichts zu sehen. (so läuft eben bei na Konsole auch)
Für die anderen Spiele macht man es so wie jetzt am PC läuft, die laufen dann halt auch auf anderen, ausgefalleneren Konfigurationen. 2 in einem.
Hätte ich die Möglichkeit mich zwischen einer Konsole und genauso aussehenden,ausreichend schnellen und ausstattungsmäßig gleichwertigen PC zu entscheiden, wäre der 2 meine Wahl, da eben sinnvoller.

Zum Thema:
Ich sehe es ähnlich, das man bald (bei gott nicht sofort) auf 64Bit setzen muss. 32 Bit ist leider am Limit angekommen obwohl die Hardware mehr kann. Das muss man nunmal anpassen am PC

Gast
2010-02-25, 19:38:55
Ich denke, dass die Konsolen die Spiele-Entwicklung im Moment enorm bremsen! Kaum ein Spiel (ausser Vielleicht GTA4) profitiert im Moment von mehr als 1GiB RAM und das grafische wertvollste Spiel (Crysis) stammt von 2007 - das ist schon mehr als 2 Jahre alt!

Ich behaupte einfach mal, das es technisch und auch preislich heute schon durchaus machbar wäre, wesentlich mehr Speicher zu verbauen.
Schaut mal hier:
http://www.golem.de/1002/73401.html
Samsung hat da für den Serverbereich echt riesige Module in der Entwicklung!
Games würden von soviel VRAM aber einfach noch nicht profitieren!

Meine anfängliche Sorge, dass die Möglichkeiten unter 32Bit Systemen sehr bald knapp würden haben sich ja verflüchtigt - selbst ein hypothetisches QUAD-SLI System mit vier Fermi-Karten (a 3GB) könnte noch ausgereizt werden. Wenn ich das richtig verstehe würden vom Hauptspeicher dann zwar 4x256MB+X abgezogen und damit weniger als 3GB übrig bleiben, aber die interne Speicherverwaltung von Fermi bleibt davon ja unangetastet (Stichwort Mapping...).

Bis zum nächsten Entwicklungsschritt sollte dann auch der Marktanteil von 64Bit-Systemen zugenommen haben, denn eines Steht fest: 64Bit hin oder her, dessen Verbreitung muss eine wesentliche Relevanz haben, bevor die Spieleentwickler breitflächig auf 64Bit Executables umschwenken. Zweigleisig zu fahren (wie bei Crysis mit 32 und 64bit exe) wird aus Kostengründen der Einzelfall bleiben.
Mittlerweile Beträgt laut Steam (also das sind dann wohl spielerelevante PC's) der 64Bit-Anteil schon 25% und steigt jeden Monat um ein paar Prozentpunkte.

Bleibt festzuhalten, dass man bei einem Betriebssystem-Wechsel heute auf jeden Fall schon auf ein 64Bit System achten sollte, damit man im Zweifel für das gleiche Betriebssystem nicht später ein zweites Mal in die Tasche greifen muss. Windows7 mit 32Bit sollte wirklich nur auf Netbooks oder alten Aufrüst-PC's eingesetzt werden. Das manche Discounter selbst bei einem Modernen System oft eine 32Bit-Version beilegen ist eigentlich eine Frechheit!

(del)
2010-02-26, 00:32:55
Total Offtopic:Wenn man nur das liest was man hinterher quotet, ja, das erweckt dann den Anschein.

Gast
2010-02-26, 17:06:33
Gibt es eigentlich irgendwelche Nachteile durch dieses Speichermapping?

Ich hab nicht viel Ahnung von Spieleprogrammierung. Ich stelle mir das so vor, dass ich an die Speicherlimitierung meines Arbeitsspeichers gebunden bin - also z.B. 2GiB oder 3.25GiB... Die Grafikkarte lässt sich Adressen für 256MiB zusichern und ich gehe jetzt mal davon aus, dass sie über dieses "Fenster" die Sachen aus dem Hauptspeicher in den VRAM abbildet, richtig?

-> Kommt es bei einem zu kleinen Fenster zu Performanceeinbrüchen?

-> Mal angenommen mir steht mehr VRAM als Arbeitsspeicher zur Verfügung, kann der VRAM-Überschuss dann überhaupt sinnvoll genutzt werden? Oder liegt er einfach brach? (bei einem ein-eindeutigem Mapping wäre das ja zu vermuten!)

Neomi
2010-02-26, 20:07:14
Das Mapping hat nichts mit Spieleprogrammierung zu tun, sondern wird vom Grafiktreiber gehandhabt. Der VRAM wird auch nicht in den RAM gemappt, sondern in den Adressraum. Der ist auf 32 Bit Maschinen unabhängig vom Arbeitsspeicherausbau 4 GiB groß, RAM wird übrigens auch bloß in den Adressraum eingeblendet.

Der Grafiktreiber muß, wenn er auf VRAM zugreifen will, der momentan nicht im Fenster ist, das Fenster natürlich verschieben. Das kostet ein wenig Overhead, ist aber zu vernachlässigen. Solange das Fenster nicht wirklich winzig ist (im Bereich weniger KiB höchstens), wirst du keinen Performanceunterschied feststellen können.

Solange die Grafikkarte und der Grafiktreiber damit klarkommen, kann der VRAM größer sein als der RAM, sogar größer als der Adressraum. Du kannst quasi auch 6 GiB VRAM auf einer 32 Bit Maschine mit 1 GiB RAM vollstopfen. "Managed Resources" gehen dann allerdings nicht (bzw. nur begrenzt), das sind nämlich Ressourcen mit einer Kopie im Systemspeicher.

Gast
2010-02-27, 15:37:18
Solange die Grafikkarte und der Grafiktreiber damit klarkommen, kann der VRAM größer sein als der RAM, sogar größer als der Adressraum. Du kannst quasi auch 6 GiB VRAM auf einer 32 Bit Maschine mit 1 GiB RAM vollstopfen. "Managed Resources" gehen dann allerdings nicht (bzw. nur begrenzt), das sind nämlich Ressourcen mit einer Kopie im Systemspeicher.

Tatsächlich!? Ich finde es suspekt, dass ein 32Bit-Treiber mit soviel VRAM umgehen können soll!
->Gehe ich richtig in der Annahme, dass man sich erstmal - ähnlich wie bei C++-Arrays an die normalen Speicherlimitierungen halten muss und die Grafikdaten durch eine weitere interen Verarbeitung dann aufgebläht werden?

-> Findet denn die Verarbeitung der Grafik-Daten komplett im Grafikspeicher statt, oder wird das zwischenzeitlich auch in den Arbeitsspeicher rüberkopiert?

(Wenn ich ein OpenGL-Programm schreibe sehe ich außer den Bibliotheksaufrufen ja nichts von der weiteren Verarbeitung, wäre ja mal interessant zu wissen, wie das gemacht wird!)

Coda
2010-02-27, 17:00:14
Tatsächlich!? Ich finde es suspekt, dass ein 32Bit-Treiber mit soviel VRAM umgehen können soll!
Da ist nichts suspekt. Die Hardware blendet immer nur 256 MiB ihres großen VRAM ein, und hat halt noch ein anderes Register das dieses Fenster auswählt.

->Gehe ich richtig in der Annahme, dass man sich erstmal - ähnlich wie bei C++-Arrays an die normalen Speicherlimitierungen halten muss und die Grafikdaten durch eine weitere interen Verarbeitung dann aufgebläht werden?

Man schreibt doch keine Daten auf einmal in den VRAM die größer als 4GiB sind.

-> Findet denn die Verarbeitung der Grafik-Daten komplett im Grafikspeicher statt, oder wird das zwischenzeitlich auch in den Arbeitsspeicher rüberkopiert?
Es wird nichts kopiert.

(del)
2010-02-27, 17:17:46
Tatsächlich!? Ich finde es suspekt, dass ein 32Bit-Treiber mit soviel VRAM umgehen können soll!Ich nicht. Mit diesem alten Hut sollte man sich spätestens seit NTFS und dem Fallen der 4GB pro Datei Grenze abfinden. (Auch wenns nicht 100% das gleiche ist.)

@Coda
Wie ist das eigentlich z.B. mit GPGPU-Boinc. Rechnet die GPU daran direkt im Arbeitsspeicher? (wegen hin und her Kopieren)

Gast
2010-02-27, 17:59:21
Ich nicht. Mit diesem alten Hut sollte man sich spätestens seit NTFS und dem Fallen der 4GB pro Datei Grenze abfinden. (Auch wenns nicht 100% das gleiche ist.)


Wäre das ganze Procedere mit den 64Bit-Betriebssystemen denn dann nicht völlig übertrieben?

@Coda:
Ist die Maximale Array-Größe bei einem 256MiB-Fenster auf 256MiB festgelegt?

Neomi
2010-02-27, 18:19:35
Wäre das ganze Procedere mit den 64Bit-Betriebssystemen denn dann nicht völlig übertrieben?

Meinst du das partielle Mapping in ein 256 MiB großes Fenster? Sicherlich ist das nicht nötig, wenn man 64 Bit Adressraum zur Verfügung hat. Allerdings kostet es keine Performance (bzw. nur im nicht wirklich meßbaren Bereich). Es ist zwar etwas Zusatzaufwand in der Treiberprogrammierung, aber auch nicht wirklich viel. Da das für 32 Bit (so lange das noch unterstützt wird) aber so oder so nötig ist, ist es allgemein kein unnötiger Zusatzaufwand. Und wenn man dann das direkt noch für 64 Bit mitbenutzt statt ein vollständiges Mapping zu verwenden, hat man zwischen den Treiberversionen eine größere gemeinsame Codebasis, was dann sogar wieder ein Vorteil bei der Entwicklung ist.

Kurz: bei 64 Bit darauf zu verzichten, solange man es für 32 trotzdem machen muß, ist Quatsch.

Ist die Maximale Array-Größe bei einem 256MiB-Fenster auf 256MiB festgelegt?

Nö. Wenn die Grafikhardware selbst damit umgehen kann, sind auch deutlich größere Buffer machbar. Die lassen sich bloß nicht in einem Rutsch vom Treiber füllen, sondern in mehreren partiellen Schritten mit jeweils einer Neupositionierung des Fensters.

Gast
2010-02-27, 20:23:46
Meinst du das partielle Mapping in ein 256 MiB großes Fenster?


Nein, ich wundere mich darüber, dass du sagst, dass man 6GiB VRAM auch mit einem 32Bit-System vollstopfen kann. (und BessereHälfte sagte ja auch was dazu).
Warum geht das bei Arbeitsspeicher dann nicht ebenfalls? Dann könnte man sich doch die komplette Migration auf 64Bit sparen! Zumindest aus speichertechnischer Sicht.

64Bit Bringt ja im Desktop-Bereich sonst auch überhaupt keinen Vorteil. Die Geschwindigkeitsunterschiede sind marginal (...und meistens liegen 32Bitter im Vorteil).

Spasstiger
2010-02-27, 20:28:36
Warum geht das bei Arbeitsspeicher dann nicht ebenfalls? Dann könnte man sich doch die komplette Migration auf 64Bit sparen! Zumindest aus speichertechnischer Sicht.
Weil eine 32-Bit-CPU nur 2^32 Adressen ansteuern kann. Der Grafikspeicher wird nicht von deiner CPU verwaltet, sondern von der GPU. Für den Arbeitsspeicher dagegen ist die CPU zuständig.

Gast
2010-02-27, 20:54:15
Ich bin zwar gerade auch Gast, aber wenn ich die Gast Postings lese melde ich mich gleich mal an, um nicht mit soviel hirnlosen Schlußfolgerungen in einen Topf geschmissen zu werden.

Für alle die glauben bei 32 bit ist Schluß, für alle die denken bei Toms Hardware sind nur Profis, und für alle die glauben die Welt ist eine Scheibe:

Jede halbwegs moderne GPU verfügt über einen Memory Controller.
Die Größe der Adressregister ist >=32bit, also 40, 44,48,64 was immer der Herrsteller für die Chipzukunft für wichtig erachtet.
Die GPU adressiert den Speicher bei Fermi z.B. mit 40 bit lokal und 64 bit global
Allein das Grafikbrettchen kann also 1024 Gigabyte Speicher verwalten = 1 TB

Wie man sowas in den 32bit Adressraum von Betriebssystem einblendet haben die Halbgötter in diesem Forum doch sehr gut erklärt. Und ja, die Assoziation mit dem Dateisystem fand ich in Ordnung. Die Platten werden 48 bittig verwaltet, das trifft die Sache sehr gut. Sonst könnte ein 32bit Sys keine Dateien über 4GB lesen oder schreiben, da das Dateiende ja ausserhalb des möglichen liegt.
Wer sich also mit C++ beschäftigt, sollte seine BASIC Kenntnisse nicht überbewerten.

Immer wenn hier jemand mit Ahnung eine Erklärung abgibt, kommt ein Gast dem alles suspekt erscheint. Ätzend. Meldet euch an. Identifiziert euch ihr Narren.

Ich gehe mich jetzt anmelden.
Geil hier. Hab schon sovel dazu gelernt.

Coda
2010-02-27, 21:06:16
Wie ist das eigentlich z.B. mit GPGPU-Boinc. Rechnet die GPU daran direkt im Arbeitsspeicher? (wegen hin und her Kopieren)
Nö, natürlich nicht. Man muss bevor man rechnet die Eingaben in den VRAM kopieren und danach die Ausgaben zurück.

Nein, ich wundere mich darüber, dass du sagst, dass man 6GiB VRAM auch mit einem 32Bit-System vollstopfen kann. (und BessereHälfte sagte ja auch was dazu).
Warum geht das bei Arbeitsspeicher dann nicht ebenfalls? Dann könnte man sich doch die komplette Migration auf 64Bit sparen! Zumindest aus speichertechnischer Sicht.
Sowas gibt es. Nennt sich Page Address Extension und kann jede CPU seit dem Pentium Pro.

Das ganze hat und wird sich aber nie durchsetzen, weil es den Programmierer mit manueller Page-Verwaltung wie zu Zeiten von DOS beschäftigt.

Karma_Zhong
2010-02-27, 21:27:00
Und vor allem deswegen nicht, weil Microsoft seine Produkte von einander getrennt vermarktet. Was die Server Editionen problemlos unterstützen ist bei den 32bit Home unnd WS Versionen beschnitten , um die Leistungsfähigkeit der Pro-Versionen zu unterstreichen.
In diesem Falle also PAE. Ist zwar aktiv, aber nutzt nicht die ganze Breite um den Speicher zu addressieren sondern ihn zu blockieren mittels NX-Bit.

Microsoft schenkt euch nix.

Karma_Zhong formerly kown as Gast:biggrin:

Coda
2010-02-27, 21:28:50
Ohje, von dem Quatsch hab ich ja noch gar nix gehört X-D

Aber das "vorallem nicht" würde ich so nicht unterstreichen. Das hätte sich auch nicht durchgesetzt wenn es überall verfügbar wäre. Es ist einfach grauenhaft hässlich.

Spasstiger
2010-02-27, 21:48:04
Sowas gibt es. Nennt sich Page Address Extension und kann jede CPU seit dem Pentium Pro.
Ich bin es schon leid, PAE zu erwähnen, weil man damit den Leuten nur falsche Hoffnungen macht. Ich propagiere 64 Bit, wo es nur geht und sinnvoll ist.

Coda
2010-02-27, 21:57:08
Ich verstehe auch das Problem nicht. Es hat ja nun wirklich keine Nachteile mehr sich ein 64-Bit-Betriebssystem zu installieren.

Spasstiger
2010-02-27, 22:06:41
Der Zwang zur Treibersignatur mit aktiviertem UAC kann für den einen oder anderen etwas nervig sein (z.B. bei der Installation des Riva Tuner), aber Argumente wie "langsamer als 32 Bit", "frisst viel RAM" oder "Kompatabilitätsprobleme" sind wirklich lächerlich. Wer noch 16-Bit-Software nutzt, kann dafür den XP-Modus von Windows 7 oder ein natives XP auf einer zweiten Partition nutzen. Einen neuen PC mit 4 GB RAM aufwärts legt man sich ja nicht primär für 16-Bit-Software zu.

StefanV
2010-02-27, 22:17:00
Und vor allem deswegen nicht, weil Microsoft seine Produkte von einander getrennt vermarktet.Nein, ganz und gar nicht!
Außerdem Henne-Ei problem.
1. warum sollte man etwas implementieren/aktivieren, wenn man es eh nicht braucht.
2. Warum sollte man etwas nutzen, wenn es wesentlich bessere Alternativen gibt?
3. Warum sollte man sich unnötige Probleme ins Haus schaffen?
Über Segmentierten Speicher tun die Programmierer nur eins: fluchen.

Und wo wir dabei sind: Nenn mir doch bitte 5 Komerzielle Produkte, die PAE nutzen...


Was die Server Editionen problemlos unterstützen ist bei den 32bit Home unnd WS Versionen beschnitten , um die Leistungsfähigkeit der Pro-Versionen zu unterstreichen.
In diesem Falle also PAE. Ist zwar aktiv, aber nutzt nicht die ganze Breite um den Speicher zu addressieren sondern ihn zu blockieren mittels NX-Bit.
Das ist anders, hier werden nur Register von diesem Modus gebraucht, um den Modus zu aktivieren - war wohl nicht anders möglich.
PAE selbst ist nicht wirklich aktiv.
Ich verstehe auch das Problem nicht.
Der übliche FUD von irgendwelchen Leuten halt bzw das zwanghafte Festhalten an alten Dingen, weil man irgendwo mal was gehört hat.

Das gleiche Spiel gibts doch immer wieder, war dochauch bei Windows 9x zu 2k/XP das gleiche, oder das man den Support für irgendwelche 10 Jahre alten (oder ältere) Betriebssysteme 'einfach so' einstellt...

Gast
2010-02-27, 23:40:21
Hier wird gerade PAE thematisiert, dazu ist zu sagen, dass diese Erweiterung 2^36 Bit= 64GiB ansprechen kann, dennoch sind pro Task weiterhin nur 4GiB möglich. Ersonnen wurde diese Technologie in Zeiten, als 64Bit noch keine Verbreitung fanden und zwar für Server, die sehr viele Programme laufen lassen mussten. Die Speicherbarriere bestand also weiterhin - und hat für 32Bit-Programme nach wie vor bestand.

-> Die GPU muss das also anders machen falls 32Bit Spiele von mehr als 4GiB profitieren können sollten.

Ich sehe es nicht als problematisch an, von Zeit zu Zeit zu mein System migrieren - das Problem besteht darin, dass ich 32Bit Spiele nicht einfach migrieren kann.
Man sollte meine Frage so verstehen: Es wäre doch toll, wenn man ohne weiteres Dazutun von einem erweiterten Speicherbereich profitieren könnte. Da sich dadurch aber offenbar ein Programmiertechnischer Mehraufwand ergibt, lohnt sich mittelfristig natürlich ein Umstieg, das ist klar.

(del)
2010-02-28, 01:37:17
Nö, natürlich nicht. Man muss bevor man rechnet die Eingaben in den VRAM kopieren und danach die Ausgaben zurück.Manchmal also irgendwie schon ;)

@Einige :freak:
Man sollte das mit den 64bit nicht so dramatisieren. Beiderseits. Mit Win7sp1 wird es endlich etwas benutzbares geben, XPsp3 schaufelt vernünfig auch mit /3GB, 3.25GB gehen, LAAF wo gesetzt geht auch, 32bit Proggis laufen auf 64bit nicht langsamer. Was solls nun? Jetz kann die Winwelt also schön Schritt für Schritt auf 64bit streßfrei migrieren. Die einen eher, die einen bisschen später.
Das Thema kann man jetzt total entspannt sehen. Wer sich deswegen immernoch gerne künstlich aufregt - beiderseits - den plagt wohl eher Langeweile.

Bis die Massen selbst >2GB Grakas für wirklich notwendig halten und sie auch gerne bezahlen, wird XP imho unter 10% ankommen. Alles easy also ;)

p.s.:
Was mir unter 64bit nur auf den Geist geht ist die Geschichte, daß es kein 64bit UPX gibt. Mit UPX-Shell konnte ich hier bis jetzt einige Starts beschleunigen. Nicht nur Firefox (xul), sondern auch so kleine Fliegen die immer wieder gestartet werden und genug Mist machen. Wie z.B. MPC-HC mit seiner Mediainfo.dll wie auch der Exe selbst.
Solange ich keine SSD habe würde ich das gerne mitnehmen.

Coda
2010-02-28, 11:58:03
Manchmal also irgendwie schon ;)
Nö. Es wird nichts "zwischenzeitlich" kopiert.

Gast
2010-02-28, 20:51:20
@ BH:

Nö, das sollte man nicht. Das tut doch auch keiner. Ich lese hier nur überall heraus, dass es ziemlich stumpfsinnig ist, krampfhaft an einem System auf 32-Bit-Basis festzuhalten. 64-Bit bringt i.d.R. nur Vorteile. Warum also darauf verzichten? :freak:
Ohnehin ist dieser Umstieg - wie du schon trefflich festgestellt hast - einer der leichtesten und im Rück-/Ausblick wohl auch einer der langanhaltendsten in der Computergeschichte (Physikalischer und virtueller Adressraums bei 2^64 Byte = 16 Exabyte).

@ Gast:
Sehr richtig. PAE erweitert nur auf bis zu 4 GiB. Ab hier ist dann definitiv Ende Gelände. Für eine Verwaltung oberhalb dieser Grenze benötigt es zwingend AWE. Und dies ist, soweit mir bekannt, nur in einigen Windows-Server-Varianten implementiert.

@ Rest:
Natürlich ist das nicht repräsentativ für die Mehzahl der Computernutzer. ABER es gibt schon mal einen guten Überblich und Vorgeschmack auf die kommenden paar Jahre...

http://www.3dcenter.org/news/2010-02-28

Coda
2010-02-28, 21:22:45
AWE ist der Name der Windows-Technologie die PAE verwendet. Die 4GiB sind wenn dann einfach ein künstliches Limit an dieser Stelle.

(del)
2010-03-01, 00:26:56
@ BH:

Nö, das sollte man nicht. Das tut doch auch keiner. Ich lese hier nur überall heraus, dass es ziemlich stumpfsinnig ist, krampfhaft an einem System auf 32-Bit-Basis festzuhalten. 64-Bit bringt i.d.R. nur Vorteile. Warum also darauf verzichten? :freak:

Ohnehin ist dieser Umstieg - wie du schon trefflich festgestellt hast - einer der leichtestenMittlerweile oder mir nach, mit Win7sp1, wenn es um 32bit/64bit geht.

Ein Umstieg ist für Leute die ein richtiges System haben und nicht nur Standardeinstellungen fressen und nur beigelegte Tools nutzen, nie leicht, wenn man nicht sofort die Zeit hat oder nicht auf ein wie gewohnt funktionierendes System verzichten will.
Bis alles so rennt wie man es gewohnt ist und alle Programme samt Windows selbst so eingestellt sind wie man es z.B. nach Jahren XP hat und mag, vergehen nicht selten mehrere Wochen.

Was wohl jetzt auf Unverständnis derer stößt die mit ihrem System sowieso dauernd soviel Mist bauen, daß sie eh mindestens 1x im Jahr neu installieren.

Mir persönlich bzw. privat bringen 64bit wenn überhaupt noch nur marginal etwas. Ich will mich bei solchen Geschichten nicht rumärgern oder abmühen, sondern meine Wows haben :) Deswegen lasse ich mir damit noch Zeit. Mein 3.2GB, /3GB System funktioniert perfekt, deswegen werde ich unter 6GB auch erst garnicht anfangen.