Skyrim Memory Patch - fixing ILS, uGrids CTD, freezes - Final ?!

mditsch

Bürger
Hallo Leute,

ich weiss, den Titel gab es schon oft, aber bin jetzt bei meinem täglichen Kontrollgang in der virtuellen Welt der Skyrim Mods auf das gestoßen:

http://enbseries.enbdev.com/forum/viewtopic.php?f=13&t=2729&sid=df254ecbaa8b5dfc837d4649c855254d

Nachdem mein Interesse geweckt wurde, habe ich das Forum und auch die ganzen weiterverlinkten Foren gelesen und die Ergebnisse darin waren absolut WOW. Es scheint gefixt zu sein! uGrids über 5 absolut stabil (sogar aberwitzige Werte >21), und KEINER hat über Probleme berichtet

Werde es nun selbst mal angehen und Info geben. Wer es selbst testen möchte, jemand aus dem Skyrim-Modder-Forum bei RedDit hat eine kompilierte skse_steam_loader.dll online gelegt.
Wer Safety Load benutzt: es muß deaktiviert werden, denn das braucht es nicht mehr und könnte sogar störend sein. Cell Stabilizer wiederum ist ok, denn das fixt ein Flag auf einer andere Ebene und kann noch was bringen, schadet zumindest nicht. ENBoost sollte man benutzen wegen dem 3.1GB Bug, SKSE braucht es dazu zwingend und in die SKSE.ini (zu finden in \Skyrim\Data\SKSE) muss folgendes rein:
[NotPlacebo]
GiveFirstBornToSheson=1


Dachte aber, wenn es funktioniert, dann ist es doch DIE Nachricht des Tages für ALLE, oder?

Edit #1:
habe es gerade mal mit uGrids 9 probiert und es läuft und sogar stabil (rund um Weißlauf)! Konnte das vorher noch nicht mal laden! (Skyrim ziemlich gemoddet mit >200 ESP, >30GB Skyrim Ordner, Grafisches ENB Profil)


###########################################################################################################
Edit #2 (16.03.2014):
es gibt zur Zeit drei voneinander UNABHÄNGIGE verschiedene Arten diesen Hack auszuführen:

  1. Variante #1: "Sheson-Variante" mittels selbst kompilierter (d.h. nicht offiziell vom SKSE-Entwicklerteam) skse_steam_loader.dll für die Version 1.6.16 des SKSE-Pakets. Diese Variante läuft nur, wenn SKSE auch benutzt wird und hat ihre Parameter in der "skse.ini" und sonst nirgends. Dieses ist im Prinzip nichts anderes als eine "inoffizielle" Version der Variante 2), allerdings mit anderen Parametern als Variante 2) in der "skse.ini" und nur für die v1.6.16 des SKSE-Pakets.

    to do:
    • SKSE-Paket Version 1.6.16 installieren
    • gepatchte "skse_steam_loader.dll" kompilieren oder aus dem www laden
    • original "skse_steam_loader.dll" der SKSE Installation durch die gepatchte Version ersetzen
    • notwendige Einträge (s.u.) zusätzlich in die "skse.ini" setzen. Wenn es die "skse.ini" nicht gibt, diese erzeugen in "Data\SKSE\"
    notwendige, zusätzliche "skse.ini" Einträge für die "Sheson Variante":
    [NotPlacebo]
    GiveFirstBornToSheson=1
  2. Variante #2: "SKSE v1.7.0 Alpha Variante"und diese hat ihre Parameter ebenfalls in der "skse.ini" und sonst nirgends. Dieses ist im Prinzip nichts anderes als eine "offizielle" Version der Variante 1), allerdings mit anderen Parametern als Variante 1) in der "skse.ini" und eben eine neuere Version 1.7.0 des SKSE-Pakets. Diese ist aber noch im Alpha-Status, d.h. nicht offiziell released und diese Version könnte noch Fehler enthalten und/oder Änderungen erfahren.

    to do:notwendige, zusätzliche "sksi.ini" Einträge für die "SKSE v1.7.0 Alpha Variante":
    [Memory]
    DefaultHeapInitialAllocMB=768
    ScrapHeapSizeMB=256
  3. Variante #3: Die "SSME-Variante" mit einer gepatchten "d3dx9_42.dll". Die dafür notwendigen Parameter sind in der "ssme.ini" und sonst nirgends zu finden und damit unabhängig von SKSE. Man könnte also eigentlich das SKSE-Paket komplett löschen (inklusive der skse_steam_loader.dll), wenn man SKSE für sonst nix brauchen würde. Das wird aber mittlerweile fasst unmöglich sein, denn SKSE wird z.B. für das Mod-Config-Menu "MCM" benötigt.

    to do:
    notwendige "ssme.ini" Einträge für die "SSME-Variante":
    [Settings]
    GiveFirstBornToSheson=1

    Location00=0x004BD832
    OldValue00=0x6086290F
    NewValue00=0x6086110F

    Location01=0x00687E89
    OldValue01=0x00000200
    NewValue01=0x00000300

    Location02=0x00A4E6BF
    OldValue02=0x10000000
    NewValue02=0x10000000

Was aber klar sein sollte: es darf NUR EINE Variante angewandt werden!
Wenn man also "SKSE v1.7.0 Alpha" drauf hat, dann unbedingt die "SSME-Variante" deaktivieren oder am Besten direkt löschen (mittels einfachem löschen der "d3dx9_42.dll" und der "ssme.ini)", denn bei der "SKSE v1.7.0 Alpha" ist der Mem-Hack per Default immer aktiv und lässt sich überhaupt nicht deaktivieren.

Fazit:
Die "Sheson-Variante" ist im Prinzip der Urvater, aber das selbst kompilieren ist nicht ganz trivial und im Web ist eine prekompilierte "skyrim_steam_loader.dll" mittlerweile fast nicht mehr zu bekommen oder nur Evolutionen davon, die wieder andere Parameter in der "skse.ini" benötigen. Deshalb werden im Moment fast ausschließlich nur noch Installationen nach Variante 2) oder Variante 3) zum Einsatz kommen.
Wenn sowieso SKSE benutzt werden muß, dann macht eigentlich nur Variante #2 noch wirklich Sinn. Die "SKSE 1.7.0 Alpha" ist jetzt seit Ende Januar 2014 online gestellt und es sind im Prinzip keine Probleme bekannt geworden, so daß man diese auch problemlos wird nutzen können. Aber ein minimales Restrisiko bleibt natürlich, aber wirklich eben nur minimal
###########################################################################################################
 
Zuletzt bearbeitet:
Leider kein Allheilmittel für Jedermann:

Requirements

64bit OS - 32bit may work but untested, probably should use /userva switch, but if you are that desperate good luck
a decent amount of RAM - more than 4GB
a suitable graphics card with decent amount of VRAM - depending on texture sizes
ENBoost - need to free up main memory
Stable uGridsToLoad - if you want to test with higher uGrids. You may not really need it, but it fixes a recursion bug that could potentially cause CTD with default uGrids as well.

Damit bin ich raus aus der Geschichte, aber trotzdem schön, dass an dem Problem im WWW weiter getüftelt und darüber berichtet wird. :)

Gruß
Elandra
 
@mditsch
Danke für Dein waches Auge und die Infos
Ich fürchte nur das meine Englischkenntnisse hier überfordert werden wäre also toll wenn Du da am Ball bleiben könntest.
Habe daran großes Intresse.
Grüße
Claudius
 
Danke für den sehr guten Hinweis, kann der ein oder andere sehr gut gebrauchen. Ich hab mir mal das alles durch gelesen und das meiste vom Text her verstanden.
Verstehe ich das richtig das man nur den ENBBOOST, Stable uGridsToLoad, skse, skse steam loader.dll online und den skse.ini Eintrag braucht damit das läuft?

Grüße
Brucie
 
@mditsch
Danke für Dein waches Auge und die Infos
Ich fürchte nur das meine Englischkenntnisse hier überfordert werden wäre also toll wenn Du da am Ball bleiben könntest.
Habe daran großes Intresse.
Grüße
Claudius

Also was ich sagen kann:
es funktioniert! Dieser Hack verhindert CTD die passieren, wenn beim CellLoad der von Skyrim reservierte primäre 256MB Buffer vollläuft in dem er Skyrim einen gösseren Buffer gibt! Spiele seit ein paar Stunden mit uGrids 9 und bin begeistert!

ist nicht viel zu tun:
SKSE muss installiert sein (haben doch eh fast alle wegen MCM), in die SKSE.ini müssen die zwei Einträge rein (siehe oben), die .dll laden und die alte überschreiben (natürlich vorher sichern), SafetyLoad deaktivieren, ENBoost SOLLTE man installiert haben wegen der 3.1GB Grenze. That's it!


Quelltext des Hacks ist veröffentlicht und birgt absolut keine Backdoorgefahr oder dass es evtl ein Hoax wäre, etc), SKSE Autoren sind angeschrieben um es in das offizielle SKSE Release aufzunehmen. Wird wohl passieren, wenn genügend bestätigen, dass es funktioniert (ist im Prinzip schon passiert).
 
Zuletzt bearbeitet:
Danke für den sehr guten Hinweis, kann der ein oder andere sehr gut gebrauchen. Ich hab mir mal das alles durch gelesen und das meiste vom Text her verstanden.
Verstehe ich das richtig das man nur den ENBBOOST, Stable uGridsToLoad, skse, skse steam loader.dll online und den skse.ini Eintrag braucht damit das läuft?

Grüße
Brucie

Genau so..

Stable uGrids braucht man nicht, solange man die uGrids nicht höher als 5 setzt. Den Rest benötigt man laut Beschreibung.

aber das ist doch der Sinn der Sache, mit mehr als den scheusslichen ugrids 5 zu zocken ;)
 
Zuletzt bearbeitet von einem Moderator:
Vielen dank, dann hab ich doch alles richtig verstanden auf der HP. Dann teste ich das mal selber aus um zu sehe wie weit man so gehen kann.

Grüße
Brucie
 
aber das ist doch der Sinn der Sache, mit mehr als den scheusslichen ugrids 5 zu zocken ;)

Öhm... würde ich nicht sagen. uGrids kickt die Performance ziemlich hart runter, wenn man über 7 geht. Natürlich hängt das auch von verwendeten Mods und der Hardware ab.
Ich persönlich würde den neuen Memory Patch nur benutzen, um das Spiel insgesamt stabiler zu machen. Performance steht für mich an erster Stelle. Nirgendswo steht, dass der Sinn darin besteht höhere uGrids fahren zu können. Es ist nur korrekt, dass höhere uGrids-Werte damit stabil erreicht werden können. Praktisch eine Art Benchmark für Skyrim.

Trotz, dass das Risiko mit erhöhten uGrids auf CTD's oder Freezes ziemlich schwer verringert wird hätte ich trotzdem Angst, dass mein Savegame auf Kurz oder Lang korrumpiert.
 
Zuletzt bearbeitet:
Öhm... würde ich nicht sagen. uGrids kickt die Performance ziemlich hart runter, wenn man über 7 geht.
Ich persönlich würde den neuen Memory Patch nur benutzen, um das Spiel insgesamt stabiler zu machen. Performance steht für mich an erster Stelle. Nirgendswo steht, dass der Sinn darin besteht, höhere uGrids fahren zu können. Es ist nur korrekt, dass höhere uGrids-Werte damit stabil erreicht werden können. Praktisch eine Art Benchmark für Skyrim.

Naja, das mit der Performance ist so eine Sache: manche geben sich mit 40 FPS zufrieden, manche mit 120FPS noch nicht. Liegt also ein wenig im Auge des Betrachters. Ich für meinen Teil konnte nix über 5 uGrids fahren, da ständig CTD! Bei uGrids 9 habe ich im Schnitt immer noch min 40FPS und ich gebe mich damit zufrieden, denn eben massive bessere Optik gegen etwas schlechtere Performance einzutauschen.
Auch hatte ich manchmal (zwar recht selten, aber manchmal eben) einen CTD bei einem Cellwechsel und das ist, wie gesagt, komplett weg. Ich würde sagen (und das ist meine Meinung, deine kann anders sein): das Ding schadet nix, ganz im Gegenteil und deshalb würde ICH es immer drauf machen!
 
Wenn man mit zu hohen uGridsToLoad-Werten spielt kann man sich allerdings auch Quest zerschießen.Das liegt daran das Ereignisse viel früher initialisiert werden.
Einen Wert von 7 mag ja noch gehen aber alles darüber - eigene Gefahr.
 
@mditsch
Stimme Dir voll und ganz zu!
Habe Deine Schritte gefolgt und mit Ewis Inis von uGrid5 auf uGrid7 gewechselt. Ersteindruck: stabil, Ich verliere etwa 4-5 fps habe aber nun Tannen im Hintergrund und keinen "grünen Golfplatzrasen".Mal sehen wie es weiter läuft und ob ich meine Enblocal/series Einstellungen etwas ändern muß. Liege so bei 45 fps mit 3 Begleitern/Hund.

@Zopf51
Schau bitte hier: Da kannst du es auch downloaden
http://www.nexusmods.com/skyrim/mod...page=1&sort=DESC&pid=0&thread_id=905060&pUp=1
Sorry Langer Link, oben bei SkyrimTuner in seiner "post".
 
Zuletzt bearbeitet von einem Moderator:
Wenn man mit zu hohen uGridsToLoad-Werten spielt kann man sich allerdings auch Quest zerschießen.Das liegt daran das Ereignisse viel früher initialisiert werden.
Einen Wert von 7 mag ja noch gehen aber alles darüber - eigene Gefahr.

Hi Donni632001,

könntest du hier bitte Quellen benennen? Ich habe mal versucht was zu ergooglen, aber fand nix. Danke dir..

..Nicht dass du es mit der timescale verwechselst?

Trotz, dass das Risiko mit erhöhten uGrids auf CTD's oder Freezes ziemlich schwer verringert wird hätte ich trotzdem Angst, dass mein Savegame auf Kurz oder Lang korrumpiert.

Hi Nylin,

Quellen und wodurch?

..und damit dürfte jetzt die Diskussion über uGrids wieder voll eröffnet sein ..:roll:
 
Zuletzt bearbeitet von einem Moderator:
@ Donni632001,
Danke für den Hinweis. Denke das wir das beachten sollten beim testen sonst steht man irgendwann vor verschüteten Höhleneingengen (Quest wird nicht aktiviert)
 
könntest du hier bitte Quellen benennen? Ich habe mal versucht was zu ergooglen, aber fand nix. Danke dir..
..Nicht dass du es mit der timescale verwechselst?

Jrista hat im Thread zu Stable uGridsToLoad folgendes geschrieben:

For those who are asking "What is uGridsToLoad?", here is a quick overview. This is pretty basic, and I am by no means an expert. I still encourage you to research the subject thourougly before diving in and messing with these settings. There is a lot more knowledge these days about the consequences of tweaking uGrids, and while it can potentially be done safely, it is far easier to tweak it and permanently corrupt your save games. Hopefully this mod will solve the standing issues, allowing us more freedom to tweak uGrids safely.


Games like Skyrim are epicly immense. They contain vast worlds populated with incalculable volumes of static and complex behavioral content. As such, it is generally impossible to load all of that information into the systems memory at once. To combat this problem, Skyrim divides the game world into "cells", organized into a grid. By default, the game loads the fivexfive (5x5) area cells around the player, including the player's current cell, at "full level of detail". In these 25 cells, the game executes world content at its maximum capacity...high res textures, moderate to high object LOD, etc. The game "runs" in these five cells...all scripted content, game events, etc.


Since Skyrim offers the ability to see far off into the distance, it also loads additional cells beyond these core five, albeit at a lower level of detail. These are "Exterior Cell Buffers"...partially loaded, ready to be transitioned into a fully loaded cell. Exterior cell buffers do not execute scripted content, usually have lower resolution textures, and use low object LOD, etc. Exterior cells complete the world, but the game doesn't really "run" in these cells...they are just there to provide continuity and totality to the world.


Before tweaking uGrids, it is best to understand the consequences. As most players who mod their game probably know, Skyrim is not a particularly stable game. Even a vanilla install often has problems. Original game and DLC data files often contain "dirty" edits, and a host of other issues related to the scripting system in Skyrim make "tweaking" pretty much anything a risky endeavor. Save game corruption, CTDs, ILSs, and lockups are a common occurrence in modded games. In the case of scripted content, the game will execute scripts in all fully loaded cells. That means that in the current user cell, as well as the surrounding cells, the game will run things...wildlife, bandits, war factions, and anything else your mods may add to the game. Increasing uGrids from the default of 5 has explicit consequences. Not only will it load more active, "living" content into your computers memory, and execute it on your CPU & GPUs, it will also load more textures to render those cells at higher detail. The world can look, and behave, amazingly realistically at a higher uGrids setting...but all of that beauty and realism can **potentially** come at the cost of a less stable game.


The "uGridsToLoad" setting is a Skyrim.ini configuration setting that allows you to change how many cells around you in the world grid into which content is loaded. It's companion setting, "uExterior Cell Buffer", is directly related, and should always be set according to a simple mathematical rule. The default settings are uGridsToLoad=5 and uExterior Cell Buffer=36. This follows a simple mathematical rule: uExterior Cell Buffers=(uGridsToLoad+1)^2. This rule means that uGrids must always be an odd number (and should really never be set lower than 5), thus making the valid options 5, 7, 9, 11, 13. (Note: It is believed that 13 is the highest valid setting, however on the ENB forums, there have been a few comments of people using 15, albeit with sketchy stability...and seemingly on devilishly beasty computers at that!! Given the mathematical rule, this means that, accordingly, uExterior must be 36, 64, 100, 144, 196.


You can see the exponential relationship here, and maybe understand why many who followed early Skryim tweaking guides (such as the famous one from nVidia: http://www.geforce.com/whats-new/gu...aranteed-to-make-your-game-look-even-better#1) and jacked up their uGrids/uExterior settings ended up crashing with OOM errors and the like. Loading hundreds of cells into the world, 49, 81, 121, or 169 of them fully running game content, on a system that may not have been up to the task could definitely cause problems. Infinite loading screens often occur when you push uGrids too far, as loading content into a fully loaded world cell takes a LOT longer than loading it into an exterior cell buffer. Especially with modded games, particularly those that include lots of heavily scripted mods and extensive high res texture packs.


There were also deeper, less obvious, and more insidious problems with changing uGrids. With Skyrim, all of your save games embed scripted content. Since scripted content runs in the fully loaded cells, increasing uGrids and saving, then decreasing it would usually break your save games unless you increased uGrids again. When loading a save game, it will try to load any embedded scripted content into all the fully loaded cells that existed at the time of the save...many of which may simply not exist if you later reduce uGrids. Additionally, the author of this mod, AltimorFP, identified MORE coding bugs in Skrim's original content, which handled things either incorrectly, or perhaps less than efficiently and in an unstable manner. This mod aims to correct the instability issues that revolve around uGrids, and how it affects scripted content in the world. Before you dive in and try it, I strongly encourage you to research uGrids more, determine how much active content your system can handle, and experiment properly (i.e. make SURE you run "save BeforeUgrids" in the console before you do anything, so you have a known "original uGrids" save point to fall back on WHEN things go wrong.) Once you have an idea of how uGrids works, and are ready to give it a try...I would install this mod first (as it should at the very least be no worse than tweaking uGrids without it, and potentially MUCH better! )

Quelle: Thread Stable uGridToLoad
 
Hi Markas,

danke. Über den Zusammenhang mit den Ext Cell Buffers und wie diese um den PC herumverteilt sind, bin ich vorhin dann auch "gestolpert". Jetzt kann ich das Risk einschätzen. Werde mal mit meinen uGrids 9 trotzdem weitermachen, denn bisher laggt es noch nicht und mal sehen was passiert. Saves habe ich natürlich gesichert BEVOR ich die ugrids erhöht habe und was kann passieren:
ich würde mir halt irgendwann dann in den Ar....h beissen, weil ich es trotzdem versucht habe und ich muss dann da weitermachen, wo ich erhöht habe.

Wie sagte schon der Kaiser': schau mer mal..
:roll:

auf JEDEN FALL DANKE für den Hinweis! :good: Nicht, daß ihr denkt, ich weiss es nicht zu schätzen, aber evtl will ich auf die Nase fallen. Auf jeden Fall dann aber wenigstens mit toller Grafik :bye:
 
Markas hat das ja schon gut erklärt.Ich geb mal ein kleines Beispiel.
Du kommst am Anfang des Spieles nach Weisslauf,am Bauernhof kannst du den Gefährten gegen den Riesen helfen.
Mit uGridsToLoad=5 klappt das einwandfrei,mit 7 liegt der Riese meistens bereits Tod am Boden wenn du eintriffst.
Mit noch höheren Werten ist er bereits Tod bevor du Flusswald verlässt.
Ich wollte eigentlich nur darauf hinweisen das man es nicht übertreiben sollte.
Habe selbst schon früher mit dem Wert 7 gespielt und keine Probleme feststellen können.
 
mditsch schrieb:
Hi Nylin,

Quellen und wodurch?

Ich würde sagen von der Memory Patch Website. Dort steht doch, dass CTD's, ILS und Freezes nahezu gefixt werden.

Das veränderte uGrids-Werte das Savegame korrumpieren lassen können, ist bereits fast überall bekannt.

In Zukunft bitte Doppelbeiträge vermeiden. ;)
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Lorneos
Markas hat das ja schon gut erklärt.

Erklärt weniger, nur eine entsprechende Seite gefunden :D

Ich denke ein Wert von 7 ist noch akzeptabel, alles darüber würde ich je nach Anzahl der installierten Mods mit Skripten vermeiden - einfach weil der Status von jedem laufenden Skript (bzw. das Skript selbst) im Savegame landet. Diesen Preis muss man leider zahlen, wenn man eine offene Spielwelt haben möchte, die es einem erlaubt zu jedem Zeitpunkt zu speichern. Bei einem uGrid-Wert von 9 oder höher werden schon einige Zellen komplett geladen, man kann das sehr schön aus der Vogelperspektive sehen, wenn man sich in der Konsole mit "tb" die Zell-Grenzen anzeigen läßt. Hat man nun noch Mods, die jeden geladenen NPC mit einem Effekt versieht (zum Beispiel Wet & Cold), dann kommt so einiges an Mehrarbeit auf die Skyrim-Engine zu.