Die magische 3,1 GByte Grenze

Der haut bei mir immer Übersetzungen raus, die wirklich schon an der Dummheit kratzen. :lol:

-> B2T
 
Nun sein englisch ist auch nicht perfekt wird durch den Google Überstezer dann nicht besser ;) .

Wäre toll wenn er das wirklich hinbekommt.
 
Hmm, ich bin da sehr skeptisch.
Es ist alles andere als einfach und nur eine Bearbeitung einer exe wird aus einer 32 Bit keine 64 Bit Software machen.
Eine Spieleengine besteht in der Regel aus 7 ( bzw 8 für Multiplayer ) Komponenten
Grafik, Sound, Physik, Steuerung, Skripting, Datenverwaltung, Speicherung und Netzwerkcode.
Jeder Komponente wird eine feste maximale Speichernutzung von der Datenverwaltung zugewiesen. Diese sind vom Entwickler fest in der Engine verankert.
Also für Grafik XXX MB, für Sound soundsoviel MB Arbeitsspeicher usw. .
Es gibt Engines in denen es mit fixen MB Werten definiert wird, aber auch Engines in denen es prozentual festgelegt ist, wie es in Skyrim gelöst weiß ich nicht.
Ist letzteres der Fall muss bei einem "Umbau" auf 64 Bit, die komplette Speicherverwaltung umgeschrieben werden.

Jetzt allerdings auf Bethesda zu schimpfen, ist alles andere als fair, denn 64 Bit Spiele gibt es noch so gut wie gar nicht, weil es bislang einfach noch nicht nötig ist.
Der Markt ist leider der grosse Hemmschuh. Im PC Bereich sind immer noch sehr viele mit 32 Bit Systemen unterwegs. Für genügsame Gelegenheitsspieler oder auch als Familien PCs
werden immer noch sehr viele Fertigrechner mit 32 Bit BS verkauft und nicht zu vergessen der noch aktuelle Konsolenmarkt, nicht wenige Spiele erscheinen für alle Plattformen.
Da zwar ein 64 Bit BS ein 32 Bit handeln kann, ist es umgekehrt nicht der Fall, also müssten von einem Spiel zwei Versionen erscheinen, was eben nicht nötig für ein Vanillaspiel
ist und Mehrkosten verursachen würde.
Ein Problem wird es im Grunde genommen auch nur durch Mods und kein Spieleentwickler bzw Vertreiber würde dafür momentan Geld drauf zahlen bzw vom Gewinn abziehen.

Das Einzige was man an einer exe ändern könnte wäre im Bereich der LAA, sprich eine Modifikation der Speicherverwaltung, was Bethesda allerdings mittels Patch bereits gemacht hat.
So wie ich es verstanden habe stehen die 3,1 GB nur für Ram, dann habt ihr den VRam vergessen. Das heisst bei einer 2GB VRam Karte kämen diese noch dazu, womit man bereits über 5 GB käme,
das Skyrim händeln kann, also macht die >4GB Freischaltung damals im Patch durchaus das was sie soll.

Das man heutzutage vermehrt ohne jegliche Warnung bei Fehlern auf dem Desktop landet liegt oftmals an Windows, Mit Vista kamen Funktionen hinzu, die in gewissen Situationen zum sofortigen Abruch eines
Programmes führen können. Diese Funktionen sollen das Erscheinen von Bluescreens bzw Komplettabstürze bei Fehlern reduzieren. Das man bei überlaufenden Speicher plötzlich seinen Desktop sieht liegt nicht allein an Skyrim, sondern ist ein Windowsfeature
 
Zuletzt bearbeitet:
Für mich geht hier eh mal wieder einiges nicht auf, was geschrieben wurde :shock::huh:
Mit einer 32Bit Verarbeitung kann man max 2hoch32 = 4GB Adressieren
Mit einer 64Bit Verarbeitung kann man max 2hoch64 = 16 Exabyte Adressieren
Der VRAM gehört hier mit dazu!

*******************Schnipp*********************
Die 4-GB-Grenze (auch 4-GiB-Grenze) bezeichnet die maximale Größe des Arbeitsspeichers, den ein Prozess unter einem 32-Bit-Betriebssystem direkt benutzen kann, ohne auf Segmentierungstechniken zurückzugreifen. Manchmal wird sogar von einer effektiven 3-GB-Barriere gesprochen, da weitere Einflüsse von Motherboard und I/O-Geräten, besonders die Größe des Video RAM, den verwendbaren Bereich auf typischerweise 2,9–3,5 GB einschränken.
*****************Ende Schnipp**************************
http://de.wikipedia.org/wiki/4-GB-Grenze

Mein Rechner hat 1,5 GB VRAM und Skyrim nutzt maximal 2.4xx RAM. Mehr habe ich noch nie gesehen. Das entspricht genau den Max 4GB.

Warum jetzt soll ich mir Sorgen und diese ominöse 3.1 Grenze machen?

@FortuneHunter demnach hast du nur 900MB VRAM?
 
Vielleicht weil das BS auch Ressourcen der Arbeitsspeichers bis runter auf 3,5 oder eben sogar bis auf 3,1 GB nutzt?
 
Für mich geht hier eh mal wieder einiges nicht auf, was geschrieben wurde :shock::huh:
Mit einer 32Bit Verarbeitung kann man max 2hoch32 = 4GB Adressieren
Mit einer 64Bit Verarbeitung kann man max 2hoch64 = 16 Exabyte Adressieren
Der VRAM gehört hier mit dazu!

*******************Schnipp*********************
Die 4-GB-Grenze (auch 4-GiB-Grenze) bezeichnet die maximale Größe des Arbeitsspeichers, den ein Prozess unter einem 32-Bit-Betriebssystem direkt benutzen kann, ohne auf Segmentierungstechniken zurückzugreifen. Manchmal wird sogar von einer effektiven 3-GB-Barriere gesprochen, da weitere Einflüsse von Motherboard und I/O-Geräten, besonders die Größe des Video RAM, den verwendbaren Bereich auf typischerweise 2,9–3,5 GB einschränken.
*****************Ende Schnipp**************************
http://de.wikipedia.org/wiki/4-GB-Grenze

Mein Rechner hat 1,5 GB VRAM und Skyrim nutzt maximal 2.4xx RAM. Mehr habe ich noch nie gesehen. Das entspricht genau den Max 4GB.

Warum jetzt soll ich mir Sorgen und diese ominöse 3.1 Grenze machen?

@FortuneHunter demnach hast du nur 900MB VRAM?

Das Problem scheint oder ist das Skyrim dank DX9, Texturen im RAM spiegelt. Die Frage wäre, ist es DX9 allein, oder gibts Befehle das die Engine es auch macht.
Eventuell ist das auch das was der ENB-Mensch da "lösen" will, unter DX11 gibts das wohl so nicht mehr. Keine Ahnung ob der der Engine da irgendwas mit DX11 vorgaukeln kann, vielleicht redet er deswegen von Performance-Verlust.
 
Das Problem scheint oder ist das Skyrim dank DX9, Texturen im RAM spiegelt..

Genau dies ist zum Beispiel ein Punkt, der mich sehr Stutzig macht. In einem System in dem das RAM unüberwindbar begrenzt ist, wäre dies irgendwie nicht wirklich sinnvoll.

Mein GraKa hat 1.5 GB VRAM und Skyrim nimmt sich die ganzen 1.5GB. Würde nun Skyrim das nochmals im RAM halten (als echter Mirror der Texture Daten), wären 3GB von den Max 4GB schon verbraucht. Hätte die GraKa 2GB VRAM würde rein gar nichts mehr gehen.

Ist DX9 für das Mirroring der Texturen zuständig würde das auf einem 64Bit OS mit genügend RAM ja gehen, aber nicht auf einem 32Bit OS.

Zu guter Letzt frage ich mich nach dem Sinn einer solchen Architektur…. Oder anderes gesagt, ich glaube nicht, dass sich das so abspielt (Texturen sind doppelt geladen) ….
 
Genau dies ist zum Beispiel ein Punkt, der mich sehr Stutzig macht. In einem System in dem das RAM unüberwindbar begrenzt ist, wäre dies irgendwie nicht wirklich sinnvoll.

Mein GraKa hat 1.5 GB VRAM und Skyrim nimmt sich die ganzen 1.5GB. Würde nun Skyrim das nochmals im RAM halten (als echter Mirror der Texture Daten), wären 3GB von den Max 4GB schon verbraucht. Hätte die GraKa 2GB VRAM würde rein gar nichts mehr gehen.

Ist DX9 für das Mirroring der Texturen zuständig würde das auf einem 64Bit OS mit genügend RAM ja gehen, aber nicht auf einem 32Bit OS.

Zu guter Letzt frage ich mich nach dem Sinn einer solchen Architektur…. Oder anderes gesagt, ich glaube nicht, dass sich das so abspielt (Texturen sind doppelt geladen) ….

Das Texturen unter DX9 gespiegelt werden ist wohl auch bei einigen anderen Spielen, nur da fällt es halt ohne Custom-Texturen eben nicht ins Gewicht.
Zudem ist wohl nicht klar, in welchem Verhältnis und wann und wie Skyrim das macht und auch wie und wann der Speicher wieder geleert wird.
Deswegen nützen auch solche Speicher-Manager- und Optimierer nichts, auch wenn einige das vehement behaupten. Aber ein 3. Programm kann ja nicht wissen, wann Skyrim wieviel Speicher benötigt.
 
Das Texturen unter DX9 gespiegelt werden ist wohl auch bei einigen anderen Spielen, nur da fällt es halt ohne Custom-Texturen eben nicht ins Gewicht.
Zudem ist wohl nicht klar, in welchem Verhältnis und wann und wie Skyrim das macht und auch wie und wann der Speicher wieder geleert wird.
Deswegen nützen auch solche Speicher-Manager- und Optimierer nichts, auch wenn einige das vehement behaupten. Aber ein 3. Programm kann ja nicht wissen, wann Skyrim wieviel Speicher benötigt.

Wie auch Xgf sehe ich da ein paar Punkte etwas anders:

1) Kannst du belegen, dass durch DX9 Texturen in den RAM "gespiegelt" werden? Du behauptest das in diesem Thread zwar konsequent, aber ich habe davon noch nie gehört, finde über Google nichts in der Richtung und könnte mir auch den Sinn dahinter auch ansatzweise überhaupt nicht erklären. Vielleicht schmeißt du da gerade auch etwas Halbwissen durcheinander? (Oder ich schmeíße Halbwissen durcheinander ;). Auf jeden Fall ist mir diese Behauptung etwas suspekt und ich würde gerne einen Beleg in der Richtung sehen...)

2) Natürlich nutzen im Allgemeinen solche "Speicher-Optimierer" etwas. Diese stellen den anderen Programmen mittelfristig etwas weniger Ressourcen zur Verfügung, wodurch Skyrim mehr Ressourcen bei Bedarf zur Verfügung stehen. Dafür muss man nicht wissen, wann/wo/wie Skyrim auf den Speicher zugreift, denn wenn zugegriffen wird sind mehr Ressourcen vorhanden... (Natürlich hängt das aber auch vom jeweiligen "Speicher-Optimierer" zusammen - ich bezweifel nicht, dass da auch unsinnige und sinnlose Programme im Umlauf sein könnten ;) )
 
Wie auch Xgf sehe ich da ein paar Punkte etwas anders:

1) Kannst du belegen, dass durch DX9 Texturen in den RAM "gespiegelt" werden? Du behauptest das in diesem Thread zwar konsequent, aber ich habe davon noch nie gehört, finde über Google nichts in der Richtung und könnte mir auch den Sinn dahinter auch ansatzweise überhaupt nicht erklären. Vielleicht schmeißt du da gerade auch etwas Halbwissen durcheinander? (Oder ich schmeíße Halbwissen durcheinander ;). Auf jeden Fall ist mir diese Behauptung etwas suspekt und ich würde gerne einen Beleg in der Richtung sehen...)

2) Natürlich nutzen im Allgemeinen solche "Speicher-Optimierer" etwas. Diese stellen den anderen Programmen mittelfristig etwas weniger Ressourcen zur Verfügung, wodurch Skyrim mehr Ressourcen bei Bedarf zur Verfügung stehen. Dafür muss man nicht wissen, wann/wo/wie Skyrim auf den Speicher zugreift, denn wenn zugegriffen wird sind mehr Ressourcen vorhanden... (Natürlich hängt das aber auch vom jeweiligen "Speicher-Optimierer" zusammen - ich bezweifel nicht, dass da auch unsinnige und sinnlose Programme im Umlauf sein könnten ;) )

MS gibt das selber in Dokumentationen zu DX9 an, dass es so ist.
Und die STEP-Leute gehen davon aus das Skyrim das tut. Nur ist nicht klar ob bei Skyrim nicht auch die Engine das selber so handhabt, oder es ausschließlich DX9 ist.
Ebenso gibt es von MS die Aussage das Speicheroptimierer die nutzlosesten und sinnlosesten Programme sind, die so an den Mann gebracht werden. Ein 3. Programm kann nicht wissen, wann ein anderes irgendwas braucht. Windows stellt Skyrim schon das zur Verfügung was es braucht.
 
Wie gesagt, ich würde gerne mehr darüber lesen. Hast du also einen Beleg, eine Quelle oder wenigstens ein Zitat? So ist mir das zu schwammig und ziemlich suspekt, wenn "Microsoft das halt sagt" ... ;)
 
Wie gesagt, ich würde gerne mehr darüber lesen. Hast du also einen Beleg, eine Quelle oder wenigstens ein Zitat? So ist mir das zu schwammig und ziemlich suspekt, wenn "Microsoft das halt sagt" ... ;)

Dann les dich mal durch den Thread im STEP-Forum, da steht alles. Die können klar auch falsch liegen, aber die Dümmsten scheinen mir das nicht zu sein.
 
MS gibt das selber in Dokumentationen zu DX9 an, dass es so ist.
Und die STEP-Leute gehen davon aus das Skyrim das tut. Nur ist nicht klar ob bei Skyrim nicht auch die Engine das selber so handhabt, oder es ausschließlich DX9 ist.
Ebenso gibt es von MS die Aussage das Speicheroptimierer die nutzlosesten und sinnlosesten Programme sind, die so an den Mann gebracht werden. Ein 3. Programm kann nicht wissen, wann ein anderes irgendwas braucht. Windows stellt Skyrim schon das zur Verfügung was es braucht.

Eine Frage: wie kommst du zu dieser Aussage (.MS gibt das selber in Dokumentationen zu DX9 an)....Hast du es selbst gelesen?

Zudem.. wenn dies eine dokumentierte DX9 Arbeitsweise ist, warum fragen sich dann die Jungs, ob es nun die Software alla Skyrim macht oder doch eher das API alla DX9. Ist es jetzt Dokumentiert oder doch nicht?

Ich könnt mir aber z.B. vorstellen:

Man hat ein System mit "Shared Memory" ein Teil des RAM wird als VRAM Reserviert. In dieses "VRAM" werden die Texturen geladen.

Analysiert man nun den VRAM, sieht man die Texturen.
Analysiert man den RAM, sieht mach auch die Texturen.

Edit:
so .. hab was gefunden. Es ist.. oder besser war einmal ..wirklich so.
http://support.microsoft.com/kb/940105/en-us
Das heisst aber noch lange nicht, dass es Skyrim auch wirklich so macht. Wenn jemand eine 2GB Karte hat, und die ganzen 2GB werden genutzt, wäre dies ein Beweis, dass nichts gespiegelt wird.

Bei meinem System würde das bedeuten: 1.5GB VRAm plus 1.5GB RAM (VRAm Mirror) also bleiben noch max. 1GB für die effektive Programmausführung.
 
Zuletzt bearbeitet:
Wenn jemand eine 2GB Karte hat, und die ganzen 2GB werden genutzt, wäre dies ein Beweis, dass nichts gespiegelt wird.

Ich habe eine 660 GTX TI oc mit 2GB...bei mir wurden schon knapp über 2000MB VRAM Auslastung angezeigt (Skyrim Performance Monitor). Das war allerdings noch vor optimieren der Texturen. Da hats mich natürlich auch öfters aus dem Spiel geschmissen!
 
Zuletzt bearbeitet:
@FortuneHunter demnach hast du nur 900MB VRAM?

Dann würde ich aber flux nach Alternate fahren und meinen Händler verkloppen. Ich habe eine GTX680 mit 4 GByte VRAM.

Wie auf den Bildern zu sehen ist werden auch 2,8 - 2,9 GByte davon genutzt und gleichzeitig fast 3 GByte RAM:



Ergo werden 5,8 bis 5,9 GByte bei meinem System genutzt.

Nun kommt aber der Knackpunkt: Skyrim ist zwar 32bit und der vom Spiel adressierbare Speicher beträgt nur 4 GByte. Allerdings wird es bei mir auf einem 64bit Betriebssystem ausgeführt und dieses steuert die Grafikkarte und die Speicherverwaltung dieser Grafikkarte.
Skyrim liefert zwar die Daten, deswegen auch die Spiegelung der Texturen, aber der Speicher der Grafikkarte wird von der GPU (nicht der CPU) verwaltet und dieser befindet sich in einem anderen Adressraum.
Zwischen den beiden muss es aber eine Schnittstelle geben und diese kann sich nur in einem Adressraum befinden, den beide nutzen. Also in den vorgegebenen Adressraum von Skyrim, der max 4 Gbyte betragen kann.

Jetzt gibt es 2 Methoden, wie man der Grafikkarte die Daten zur Verfügung stellen kann:

1. Man streamt die Daten (Texturen) durch einen kleinen RAM-Bereich. Das hätte aber den Nachteil, dass die Daten langsam verarbeitet werden und wenn die CPU im Stress ist es zu massiven Rucklern kommen kann, weil die CPU die Daten ja auch noch laden und weiterreichen muss neben anderer Tätigkeiten.

2. Man stellt die Daten im Adressraum mit einem Mal bereit (Texturen spiegeln) und sagt der GPU: Dort stehen sie bereit bedien Dich. Dieses bedeutet weniger Stress für die CPU, die den Adressraum immer dann füllen kann, wenn sie sowieso grade Leerlauf hat.


Zur Beweisführung habe ich mal ein Experiment gemacht. Ich habe meinen Texturenordner umbenannt. Es sind jetzt nur noch die Skyrim Hi-Textures aktiv.
Würde es zutreffen, dass Skyrim die Texturen nicht spiegelt, dann müsste der RAM-Verbrauch immer noch bei nahezu 3 GByte liegen, aber der VRAM-Verbrauch sinken.

Ergebnis:



RAM: 1,9 Gbyte VRAM: 1,8 GByte.

Das ganze mit ausgeschalteten Hi-Textures:



RAM: 1,3 GByte VRAM: 1,3 GByte


Erklär mir jetzt ein Anhänger der Texturen-werden-nicht-gespiegelt-Fraktion, warum mein normales RAM 1 - 1,8 GByte weniger Daten an der gleichen Stelle geladen hat. Der Spielstand war der gleiche. An den Meshes und allen anderen Daten hat sich nichts geändert, es werden nur weniger oder kleinere Texturen geladen.
Damit wäre wohl bewiesen, dass die Texturen sehr wohl zumindest zum Teil im Arbeitsspeicher gespiegelt werden.





Hättest Du recht Xfg, dann wäre es noch fataler, denn dann könntest Du meine 4 GBytekarte niemals mit einem 32bit Windows betreiben. Dann bliebe nichteinmal Windows mehr Platz zum booten. Und was machen dann erst Besitzer einer TITAN mit 6 GByte VRam
 
Zuletzt bearbeitet:
so, jetzt ran ans testen...

17 july 2013

Have a good news to some users of TES Skyrim who prefer many mods installed and suffer from game crashes. In upcoming version of the mod i reduced that issue, so it appear much more rarely (for me - never) and performance wasn't changed (at least on my hardware). Also to allow users use ENBSeries mod without any graphic changes, did new global variable to turn off everything. New version with UseEffect=false running faster than vanilla game (on my hardware), so it can be used as performance patch also. Did optimizations for reflections, almost twice faster in supersampling mode. Coming soon...

17 july 2013

Published ENBSeries 0.192 for TES Skyrim. Contain partial fix against game crashes (ctd), i don't recommend to use it when size of video memory is low, 1 gb or greater is fine. Optimized performance, added variable to use mod as speed hack patch without changes to graphics (for users with low end pc). There are other changes, check out readme file. Don't forget to report results on the forum, i don't have any issues and performance is better, but nobody knows yet.
 
  • Like
Reaktionen: Dynanik