PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Diskussion zu: Das Large-Address-Aware-Flag Techlet


Nahaz
2009-02-19, 10:00:51
Link zum Techlet: http://www.3dcenter.org/artikel/das-large-address-aware-flag

OC_Burner
2009-02-19, 20:33:13
Schade, GothicIII hätte erwähnt werden können. Dieses Spiel ist in Sachen LAA-Flag setzen das Paradebeispiel schlechthin wenn es um die Nutzung von mehr als 2GB geht.

Ansonsten prima Artikel, dem gerne mal Beachtung geschenkt werden darf.

Nighthawk13
2009-02-19, 22:35:56
Schade, GothicIII hätte erwähnt werden können.
War auch mein erster Gedanke... das erste mal erlebt, dass eine .exe crasht weil die 2GB Addressraum voll sind ;)

Wars bei Gothic3 nicht auch so, das neben der exe auch alle beteiligten dlls entsprechend mit dem LAA geflagt sein müssen?

Schöner Artikel, gern mehr von der Sorte...

No.3
2009-02-19, 22:43:24
Dies ist nötig, da Applikationen, die sich auf die strikte Einteilung des Speicherraums verlassen, teilweise das dadurch nicht signifikante hochwertigste Bit von Pointern (Zeiger auf Speicheradressen) als zusätzlichen Informationsspeicher verwenden.

X-( macht man so einen Scheiss heute immer noch ?!? X-(

2L4Y
2009-02-19, 23:50:34
Hat das jemand mal mit GTA4 probiert, denn bei mir kommt dann eine Fehlermeldung (XNet bla bla).
Bei anderen Spielen geht es aber.

lizardking
2009-02-19, 23:54:07
Allgemeine Frage: Wenn jetzt das LAA-Flag gesetzt ist, ist doch das Kernel-Mapping futsch. Also hat man doch wieder einen zeitaufwendigen Kontextwechsel bei Betriebssystemaufrufen.
Wird dies dann einfach so hingenommen oder durch eine andere Vorgehensweise ersetzt?

Spezielle Frage: Weiß jemand, wie dies bei der Verwendung vom .NET-Framework ist. Dieses gibt es zwar sogar für x64, aber trotzdem kann man nicht einfach auf die vollen 4 GB zugreifen.
Siehe dazu http://blogs.msdn.com/joshwil/archive/2005/08/10/450202.aspx

Gast
2009-02-19, 23:55:54
Ein sehr interessanter Artikel (Danke!), welcher leider durch den schwierigen Satzbau und die außergewöhnliche Interpunktion stellenweise zerrissen wird. Schade, den ich hätte ihn mir gerne fertig durchgelesen, nur kann ich der eigentlichen Aussage oft nicht bis zum Ende folgen.

Aber das geht anscheinend nur mir so...

Gast
2009-02-20, 01:21:26
Allgemeine Frage: Wenn jetzt das LAA-Flag gesetzt ist, ist doch das Kernel-Mapping futsch.Exakte Frage: Warum?

Coda
2009-02-20, 07:00:12
X-( macht man so einen Scheiss heute immer noch ?!? X-(
Selten. Aber wie im Artikel angesprochen tut es das D3DX-Framework per default.

Allgemeine Frage: Wenn jetzt das LAA-Flag gesetzt ist, ist doch das Kernel-Mapping futsch.
Nein.

Entweder ist dann nur noch 1GiB Kernel-Space vorhanden (32-Bit-Windows mit /3G) oder er ist an einer 64-Bit-Adresse zu finden (64-Bit-Windows), die aber nur der Kernel sieht, da die Applikation ja 32-Bit ist.

Spezielle Frage: Weiß jemand, wie dies bei der Verwendung vom .NET-Framework ist. Dieses gibt es zwar sogar für x64, aber trotzdem kann man nicht einfach auf die vollen 4 GB zugreifen.
Siehe dazu http://blogs.msdn.com/joshwil/archive/2005/08/10/450202.aspx
Ein Array-Objekt auf dem Heap kann nicht größer sein als 2GiB. Das braucht man aber auch praktisch nie. Die Applikation kann insgesamt aber mehr allozieren, und man kann sich auch eigene Array-Typen definieren die es auch so erlauben.

Tzunamik
2009-02-20, 08:41:49
Könntet ihr das evtl. mal mit Benches belegen?

also einfach mal 1-2 Parade beispiele, in denen man die Unterschiede richtig sieht?

EDIT:
So machen meine 8 GB Ram wieder sinn für Spiele :)
Zum Programmieren brauch ich die ja sowieso :)

BlackBirdSR
2009-02-20, 08:55:30
Das mit Benchmarks wird schwer.
Ich kann dir einige Beispiele nennen:

Bei GTA4 hat Coda verringerte Ladezeiten festgestellt, das könnte man messen - wird aber für jeden User anders ausfallen. Zudem ist das (benchmarking) vom physikalisch verbauten RAM abhängig.

Bei Battlefield2 habe ich mit 2GB dramatisch verkürzte Wartezeiten bei Task-Switch und einen sofort wieder ansprechbaren Desktop nach dem Beenden.

NeverWinterNights2 nutzt von Haus aus das LAA-Flag, besticht aber durch ewig lange Ladezeiten, Abstürze und niedrige Performance.

Supreme-Commander und Gothic3 funktionieren gar erst damit richtig :rolleyes:

Aber so richtige Benchmarks, kann man damit schlecht anfertigen. Man würde entweder kaum Ergebnisse erhalten, oder sie wären einfach nicht auf andere Systeme übertragbar. Aber ich bin sicher, dass die ein oder andere Webseite das aufgreifen wird (besonders wenn es um GTA4 geht) und mehr als genug Benchmarks finden wird ;)

Ich versuche einmal ein paar Sachen auf die Beine zu stellen und auf mehreren Systemen gegenzuchecken, ok?

mekakic
2009-02-20, 09:23:35
Danke für das Techlet. Das muß einfach auch etwas promoted werden...

Flagship unterwegs
2009-02-20, 10:52:32
@ Blackbird,

das wäre nice :)

Weil so hebelt man ja im Endeffekt das "mehr als 4GB braucht keiner" Syndrom aus :)

Ich würde mein System auch zum testen bereit stellen, also wenn du mir sagst was ich tun soll, tu ich es :)

Details findest in meinem vorherigen Post in der Signatur.

Und

Supreme-Commander und Gothic3 funktionieren gar erst damit richtig

Was genau meinst du damit?

Sie laufen besser? oder garnicht? Ich find den Satz komisch formuliert :P

Picknatari
2009-02-20, 11:40:05
Hallo,

als ich die Überschrift des Artikels las, dachte ich: endlich!

Aber dann sah ich, dass dieses Thema nur im Rahmen eines 64bit Betriebsystems aufgegriffen wurde. Ich als Spieler von Herr der Ringe Online mit dem hauptsächlichen Einsatz von Windows XP 32-bit habe mich in dem Zusammenhang mit dem Large-Address-Aware-Flag auch mit dem /3GB Startparameter in XP 32 auseinandergesetzt. Ich war nun in der Hoffnung hierzu neue Infos zu finden. Denn XP 32bit mit /3GB Schalter lässt HdRO auch viel besser laufen und somit wahrscheinlich auch andere Spiele mit gesetztem LAAF. Worauf sollten sich die Infos beziehen: leider verursacht der /3GB Schalter Nebeneffekte, zum Beispiel läuft der hardwarebeschleunigte Sound in manchen Spielen nicht zuverlässig (OpenAL mit Creative) oder PowerDVD in meiner Version zeigt keine Verfügbarkeit mehr von DirectX VA an. Ich dachte also, es gibt hier Tips, wie man DirectX oder anderen Anwendungen überreden kann auch mit dem /3GB Schalter einwandfrei zu arbeiten.
Hat der eine oder andere zuverlässige Information dazu?

Nebenbei: der /3GB Schalter sollte mit mit Parameter /USERVA=2800 zusammen benutzt werden, weil durch den zusätzlichen Platz für das BS einige Instabilitäten umschifft werden.

Gruß,
Picknatari

BlackBirdSR
2009-02-20, 12:21:46
Hallo,

als ich die Überschrift des Artikels las, dachte ich: endlich!

Aber dann sah ich, dass dieses Thema nur im Rahmen eines 64bit Betriebsystems aufgegriffen wurde.

Es ist ja eigentlich ein technischer Artikel und soll keine direkten Beispiele umfassen. Dazu haben wir hier auch nicht genug Erfahrung mit Problemfällen etc. Vielleicht lässt sich da aber was mit User-Support anstellen, mal nachdenken...

Thema XP32: Es ist natürlich richtig und für manche Fälle die einzige Rettung. Allerdings verursacht das eine Fülle von Problemen bei manchen Rechnern und daher unsere Meinung: 64Bit System bitte.

Wegen Sup-Commander und Gothic3:
Es gab so viele Crashes in den Verkaufsversionen und mit original Patches, dass User dieses Flag in der Regel sehr oft selbst gesetzt haben. Damit waren beide Spiele oftmals spürbar stabiler. Bei vielen hörten erst dadurch die ärgerlichen Abstürze auf.

deekey777
2009-02-20, 13:07:07
In STALKER war das Setzen des Flags zumindest für die Vista-Nutzer ein Segen (erst damit waren die Armeelager spielbar; mit dem Patch wurde die EXE dann offiziell geflägt). STALKER Clear Sky ist von Haus aus gleich geflagt worden.

Gast
2009-02-20, 13:09:40
Thema XP32: Es ist natürlich richtig und für manche Fälle die einzige Rettung. Allerdings verursacht das eine Fülle von Problemen bei manchen RechnernWenigstens diese hätte man erwähnen können ;) Ich kenne übrigens keine (Probleme)

|FAT|Punisher
2009-02-20, 13:43:56
Supreme-Commander und Gothic3 funktionieren gar erst damit richtig :rolleyes:
Das kann ich nur bestätigen. :)
Gothic 3 unter XP x64 mit LAA-Flag war endlich spielbar, und Supreme Commander ist mir in 3on3-Schlachten mit sehr großer Map und vielen Einheiten tatsächlich auch schonmal aufgrund von RAM-Mangel abgestürzt; seitdem spiele ich es (online) nur noch unter x64. :wink:

Sonyfreak
2009-02-20, 14:04:15
Danke für den super Artikel! Endlich hab ich mal halbwegs kapiert, was es mit der ganzen Sache um diesen Adressraum auf sich hat. :D
Ich versuche einmal ein paar Sachen auf die Beine zu stellen und auf mehreren Systemen gegenzuchecken, ok?Das wäre wirklich sehr interessant. :)

Noch ne abschließende Frage: Wer ist Axel? :confused:

mfg.

Sonyfreak

Nahaz
2009-02-20, 14:36:56
Noch ne abschließende Frage: Wer ist Axel? :confused:

Coda :wink:

Krischi
2009-02-20, 15:08:03
Ist einem oder mehreren von euch zufällig eine Liste mit Erfahrungswerten über dieses Flag bei Spielen und Anwendungen bekannt? Von wegen welche Spiele/Programme gehen damit gut, welche machen Problem etc.?

Danke und Gruß Krischi

S940
2009-02-20, 15:12:32
Lol lustig, hab gestern mit Gothic3 angefangen und nach diversen Abstürzen (Vista 32 / 4 GB), hab ich dann auch das Flag gesetzt ;-)
Aber nach nem Patch war das dann sowieso mit dabei :)
Richtig Abhilfe schaffte dann aber erst der 3 GB Schalter.

Ausserdem hab ich noch /PAE & Adress translation aktiviert, damit gibts auch unter 32bit die vollen 4 GB ... hab aber keine Ahnung, ob das /PAE dann auch wieder etwas Leistung kostet.

Wäre mal auch interessant, das zu testen. Aber gut, in Zukunft gibts eh nur 64bit :)

ciao

Alex

Sentionline
2009-02-20, 15:22:54
Tja, auf meinem Laptop will XP x64 nicht wirklich gut laufen, da ein (bis dato mir unbekannter) Treiber den Bootvorgang extrem verlängert. Nun hab ich Windows XP in 32Bit bei mir und von 4GB RAM bleibt 1GB ungenutzt. Nachdem ich diesen Artikel (http://www.tomshardware.com/de/foren/240612-26-vista-nutzen) gelesen habe, hab ich nun per Gavotte RAMDisk (http://www.badongo.com/de/file/12113169) ein 1GB Ramdisk angelegt und Pagefile & FFChache darauf geladen. Im Taskmanager seh ich weiterhin nur 400MB Last nach einem neustart. Sehr schön.

Nun, durch Large-Address-Aware-Flag könnte ich also die restlichen 2,5GB den Spielen gutschreiben wie mir scheint. Also ist es im Grunde nicht wirklich so das ein XP x86 nicht mit 4GB oder mehr umgehen kann (:uidea:)...

Microsoft erlaubt es aber, durch das Large-Address-Aware-Flag Entwicklern dem Betriebssystem mitzuteilen, dass ihre Applikation dieses hochwertigste Bit nicht missbraucht, und somit auch Adressen über 2 GiB ohne weiteres verwenden kann.
So ist im jüngsten Fall das extrem speicherfressende GTA IV nicht entsprechend markiert...
Dann lassen wir GTA eben nicht "missbrauchen"...wer weiss was da noch für krücken im Programmcode liegt.

Gast
2009-02-20, 15:53:34
Dies ist nötig, da Applikationen, die sich auf die strikte Einteilung des Speicherraums verlassen, teilweise das dadurch nicht signifikante hochwertigste Bit von Pointern (Zeiger auf Speicheradressen) als zusätzlichen Informationsspeicher verwenden
X-( macht man so einen Scheiss heute immer noch ?!? X-(

Nein. Das Techlet ist in der Hinsicht etwas ungenau - was in Programmen typischerweise schiefgeht, ist dass fälschlicherweise Addressen (Pointer) als vorzeichenbehaftete Zahlen (Integers) behandelt werden, was insbesondere bei Vergleichen fatal ist. Solange alle Adressen unter 2 GB liegen, sind die entsprechenden Integers positiv, und alles ist fein. Über 2GB sind die auf einmal negativ (das höchste Bit wird als Vorzeichen interpretiert) und dann sind höhere Adressen auf einmal numerisch kleiner als niedere. Rums.

Tzunamik
2009-02-20, 16:08:40
Alle sollten dem Beispiel Crysis folgen.

Hab mir eben Clear Sky gekauft, gleich mal schauen obs da was bringt.

Gast
2009-02-20, 18:21:07
Wer Probleme mit dem setzen des Flags wegen dem Kopierschutz eines Spieles hat, kann auch eine andere .exe (hust) nehmen und bei dieser dann das Flag setzen.

RavenTS
2009-02-20, 22:07:26
Coda :wink:

Und warum wurde das Techlet nicht unter seinem Namen veröffentlicht? So kein Ruhm auf ihn :wink:

Coda
2009-02-21, 20:33:43
Nein. Das Techlet ist in der Hinsicht etwas ungenau - was in Programmen typischerweise schiefgeht, ist dass fälschlicherweise Addressen (Pointer) als vorzeichenbehaftete Zahlen (Integers) behandelt werden, was insbesondere bei Vergleichen fatal ist. Solange alle Adressen unter 2 GB liegen, sind die entsprechenden Integers positiv, und alles ist fein. Über 2GB sind die auf einmal negativ (das höchste Bit wird als Vorzeichen interpretiert) und dann sind höhere Adressen auf einmal numerisch kleiner als niedere. Rums.
Das halte ich für Unfug, da man Adressen auch ohne Cast auf Integer vergleichen kann und dann werden sie ganz sicher nicht als vorzeichenbehaftet interpretiert.

Ausserdem hab ich noch /PAE & Adress translation aktiviert, damit gibts auch unter 32bit die vollen 4 GB
Jain.

Physikalisch insgesamt für alle Programme schon, aber eine Anwendung kann weiterhin nur 2 GiB virtuellen Adressraum verwenden (3GiB mit dem /3G Switch).

Man muss da vorsichtig sein mit den Begrifflichkeiten.

Und warum wurde das Techlet nicht unter seinem Namen veröffentlicht? So kein Ruhm auf ihn :wink:
Ich habe mich (mit Absicht) so im CMS angemeldet.

Armaq
2009-02-21, 22:25:27
Bringt LAA bei GTA IV nun mehr Performance? Ja oder Nein?
Mein System sieht man ja, würde das auch ausprobieren, aber die Ladezeiten stören mich nicht.

Coda
2009-02-23, 15:58:59
Bringt LAA bei GTA IV nun mehr Performance? Ja oder Nein?
Es lädt nur schneller soweit ich es beobachtet hab.

HisN
2009-02-24, 18:54:41
http://img57.imageshack.us/img57/6127/gothic3256015patchlevelhf5.th.jpg (http://img57.imageshack.us/my.php?image=gothic3256015patchlevelhf5.jpg)
<-- hat damals schon gut geklappt weil man in G3 die größe der Daten-Caches manuell bestimmen konnte und das Programm wundervoll mit dem "mehr an Speicher" diese Caches füllen konnte. Leider eine Ausnahme :-(

OC_Burner
2009-02-28, 16:45:02
Es lädt nur schneller soweit ich es beobachtet hab.

Also konntest du den LAA-Flag bei GTA IV setzen? War mit das erste was ich gemacht habe als GTA erschien, leider wollte das Spiel mit dem Flag nie starten.

mAxmUrdErEr
2009-03-09, 23:30:19
Dies ist nötig, da Applikationen, die sich auf die strikte Einteilung des Speicherraums verlassen, teilweise das dadurch nicht signifikante hochwertigste Bit von Pointern (Zeiger auf Speicheradressen) als zusätzlichen Informationsspeicher verwenden. Fordert eine solche Applikation Speicher an, darf der zugewiesene Speicher nicht an Adressen über 2 GiB liegen, da sonst dieses Bit immer auf 1 stehen muss und somit bei Missbrauch der Applikation auf 0 gesetzt werden könnte, was einen sicheren Absturz bei Zugriffen darauf bedeuten würde.
Wäre es möglich, dass ein freundlicher 3DCenter Member, der die technischen Ausdrücke hier versteht und deren Bedeutung kennt, mir diese paar Zeilen auf Englisch übersetzt?

Liebe Grüße
mAx

Coda
2009-03-17, 14:12:45
This is necessary, because some applications that count on a strict separation of the address space use the most significant bit of pointers for extra storage. If such an application allocates memory, the assigned memory must not lie above 2 GiB, because otherwise this bit would need to be fixed to 1. If the application abuses the bit and sets it to 0 it will crash when accessing data through the pointer.

Ash-Zayr
2009-09-15, 14:52:40
Frage aus aktuellem Anlaß: kann ich irgendwie und irgendwo mit Bordmitteln (win-p 32-bit) auslesen, ob eine Software das LAA-Flag gesetzt hat?
Ich nutze Cubase 4 Essential zur Musik-Produktion. Eine 32-bit Software. Da ich demnächst auf Win7 64-bit wechseln möchte, würde ich diese Cubase Version behalten, wenn sie das LAA-Flag hätte und ich so zumindest 4GB RAM nutzbar hätte. Ansonsten müsste ich sehr teuer auf Cubase 5 Vollverison gehen, die nativ 64-bit bietet.


Ash-Zayr

Coda
2009-09-15, 16:42:49
Frage aus aktuellem Anlaß: kann ich irgendwie und irgendwo mit Bordmitteln (win-p 32-bit) auslesen, ob eine Software das LAA-Flag gesetzt hat?
Nicht das ich wüsste, aber wieso kannst du dir nicht den CFF Explorer installieren?

Ash-Zayr
2009-09-16, 10:54:50
Das Tool schien mir auf einen groben Überblick der Features nur für Entwickler und Programmierer gedacht, da der normale user damit nichts anfangen kann, bzw. sein System zerstören würde.

Daher war meine Frage, ob man nicht erstmal gefahrlos irgendwie sehen kann, ob eine anwendung das Flag bereits von Herstellerseite aus gesetzt hat. Falls ja, muss ich mich ja gar nicht erst mit der Materie befassen. Falls nicht: gibt es irgendwo ein idiotensicheres "how to", welches mir einfach zeigt, wie ich das Flag für eine Anwendung festsetzen kann?

Danke & Gruß
Ash-Zayr

HisN
2009-09-16, 13:49:28
Das Tool zerhackt nix und es fragt Dich 10x bevor es eine Datei überspeichert :-)
Ich such gerade mal ein altes Howto... moment.

There http://forum.worldofplayers.de/forum/showthread.php?p=2630806#post2630806

Ash-Zayr
2009-09-18, 08:43:49
Ein Bekannter hatte mir gestern (vermeintlich) zu dieser Problematik berichtet, dass er ein 3 Jahre altes Asus Board mit Intel 965er Chipsatz hat...das hat irgendwas in Hardware verbaut, so dass das Board, einmal im BIOS aktiviert, selbstständig erkennt, wo ein Eingriff nötig ist und in hardwarde den oberen Speicher über die 2GB pro Task hinaus adressieren kann.

Kann das sein? Warum ist so ein super-feature, wenn er und ich über dasselbe geredet haben, untergegangen und nicht längst Standard in jedem Board?

Der Bekannte nutzt WinXp 32-bit mit 4GB RAM im PC

Ash

HisN
2009-09-20, 17:37:29
Memory-Remapping wird gemeint sein. Ist nur die Grundlage dafür dass der Speicherbereich über 4GB überhaupt genutzt werden kann, aber kein Super-Tool. Ist übrigens in jedem aktuellen Bios Standard und nicht mehr vom Benutzer zu beeinflussen.

=Floi=
2010-01-01, 07:03:40
ist der flag bei wow gesetzt?
ich spiele selbst nicht, kenne aber jemanden und der beklagte die miserable speicherausnutzung und die dadurch verbundenen instabilitäten.

Exxtreme
2010-01-01, 12:35:27
ist der flag bei wow gesetzt?
ich spiele selbst nicht, kenne aber jemanden und der beklagte die miserable speicherausnutzung und die dadurch verbundenen instabilitäten.
Nein, es ist nicht gesetzt. Und setzen würde ich es auch nicht.

The Nemesis
2010-01-02, 22:32:08
Hm, weiß einer, ob Steam rumzickt, wenn man eine Exe mit dem CFF-Explorer bearbeitet?
Würde es ja gerne mal bei GTA 4 ausprobieren, aber das habe ich mir nur über Steam geholt ;)

san.salvador
2010-01-02, 22:33:14
Hm, weiß einer, ob Steam rumzickt, wenn man eine Exe mit dem CFF-Explorer bearbeitet?
Würde es ja gerne mal bei GTA 4 ausprobieren, aber das habe ich mir nur über Steam geholt ;)
Abgesehen davon ist es IIRC auch illegal. Das sollte unser Techlet-Schreiberling auch erwähnen, sofern mir da meine Erinnerung keinen Streich spielt.

Gast
2010-11-11, 11:03:42
Der Artikel war nützlich.