Vorstellung Crash fixes by meh321 & SKSE Plugin Preloader by meh321 and sheson

Dieses Thema im Forum "[Skyrim] Modveröffentlichungen" wurde erstellt von Kleiner Prinz, 30. Mai 2016.

  1. Kleiner Prinz

    Kleiner Prinz Ratsmitglied

    Offen gesagt, ich auch nicht.

    Was ich nur vermuten kann, dass der VRAM mit den vielen Texturen, die beim ersten Start geladen werden, überfordert ist.
    Beim zweiten Start, ist der VRAM nicht komplett entladen, und es befinden sich im VRAM noch Texturen des ersten Starts.
    Der VRAM ist beim zweiten Start nicht überfordert, und das Spiel startet.

    Schuld könnte die steinzeitliche Speicheranbindung der aktuellen GraKas sein, die sich seit Jahren nicht geändert hat.
    Als Grafikkarten über maximal 2 GB verfügten, gab es bereits die Speicheranbindung von 256 Bit.
    Jetzt mit 8 GB VRAM gibt es diese 256 Bit immer noch.
    Selbst beim aktuellen sehr schnellen GDDR5X Speicher, der GTX-1080.

    Ich hoffe, das ändert sich mit HBM2, 4096 Bit, der Vega-GraKas. :)
    Na ja, ...ab Morgen wissen wir mehr:
    http://www.elderscrollsportal.de/th...afikkarte-verfuegen.52355/page-6#post-1055513

    Dies schreibt auch der Mod-Ersteller auf seiner Seite, und hat diese Funktion wohl in seinen Fix eingebaut.
    http://www.nexusmods.com/skyrim/mods/78557/?
     
  2. Das Problem hab ich früher gehabt, ca 2014 habe ich das letzte mal Skyrim gespielt. Bis jetzt trat es noch nicht auf und ich hab nicht unbedingt mit Texturen gespaart. Gut ich muss nicht jedes Fitzelchen ersetzt haben, wichtig waren mir Landschaft, Natur, Vanilla Waffen, Wasser und natürlich das übliche an Body und Beauty. ENB lässt ja auch ohne Texturen Mods alles besser aussehen. Komisch nur das es bei Fallout 4 nicht passiert welches gut 1GB VRAM mehr frisst als Skyrim. Auch läuft es wesentlich ruhiger. Vergleich Skyrim ca 75 Grad der Graka, Fallout 4 ca 60 Grad im Schnitt. Beide full modded mit ENB. DX9 oder die ENBs dafür scheint hier die Graka mehr zu beanspruchen.

    Aber Danke für den Tipp, sollte es auftreten werd ichs probieren.
     
  3. das hab ich nicht gesagt. Ich hab nur festgestellt, dass ...

    warum so agressiv? Das hab ich ja gar nicht in Abrede gestellt.

    ... das Crash-Fix in Verbindung mit ENBoost und Win7/64 zumindest bei mir ab VRam usage 3926 einen CTD ergibt, d.h., alle Angaben sind anscheinend nicht für Win 64 bit gemacht sind, weil das Fix mit ExpandSystemMemoryX64=true ja sofort einen CTD gibt und damit bei Win7/64 mit ENBoost dessen erweitere VRamnutzung unmöglich macht, weil bei ExpandSystemMemoryX64=false eben nicht mehr VRam mit ENBoost genutzt werden kann, ENBoost also wegfällt bzw. sinnlos ist.

    Folgerung: Bei Win7/64 entweder Crash-Fix oder ENBoost, beides zusammen geht nicht.

    Wenn beides zusammen doch mit Win7/64 geht und tatsächlich mehr Vram ermöglicht, als auf der Graka verbaut ist, bitte komplette Settings zum testen.


    Ich habe immer noch keine Lösung, bei der ich sowohl mit ENBoost mehr als die 4GB Vram (dem, was ich auf der Graka habe) nutzen kann ohne CTDs vorher und ohne CTD bei Erreichen des VRams der Graka.

    wobei der Wert lt. dem von mir oben genannten Link falsch wäre, weil die 170 nicht abgezogen, aber in jedem Falle kein Beleg dafür, dass es auch bei Win7/64 und meinen VRam/RAM funktioniert, zumal extra auf die Unterschiede von Win7/64, Win8 zu Win10 hingewiesen wird
     
    Zuletzt von einem Moderator bearbeitet: 4. Januar 2017
  4. Kleiner Prinz

    Kleiner Prinz Ratsmitglied

    Bin ich doch gar nicht, ...man beachte meine Smileys >>> :D

    Nur hatten wir exakt das Thema schon einmal.
    Und da ich nicht der Mod-Ersteller bin, kann ich dir nur noch einmal raten, dich an ihn zu wenden, falls du immer noch unter CTDs leidest. ;)
     

  5. Du weichst aus:
    Was nun, geht es doch zusammen, wenn ja, wie? oder geht es nicht zusammen?

    Folgerung: Bei Win7/64 entweder Crash-Fix oder ENBoost, beides zusammen geht nicht.

    Wenn beides zusammen doch mit Win7/64 geht und tatsächlich mehr Vram ermöglicht, als auf der Graka verbaut ist, bitte komplette Settings zum testen.


     
  6. Kleiner Prinz

    Kleiner Prinz Ratsmitglied

    Du hast recht, und ich meine Ruhe. :rolleyes:
    Bei mir und vielen anderen hier, funktioniert der Crash-Fix mit ENBOOST einwandfrei.
    Für mich ist das Thema daher nun beendet, denn ich erlebe hier mit dir gerade ein Déjà-vu von #43 bis #54 o_O
    Willst du "komplette Settings" wende dich an den Mod-Ersteller.
    Ich mache mir die Arbeit nicht, nur weil du es nicht auf die Reihe bekommst.
     
    Lahmaf gefällt das.
  7. Wie verhält sich das jetzt eigentlich mit zusätzlich installierten Mods die ins laufende Spiel integriert werden? Ich lese immer soll man nicht machen und auf keinen Fall die Ladereihenfolge ändern usw. Gut das Skyrim das deinstallieren von Mods weil Skripte im Save usw nicht mag ist mir bekannt. Aber wenn mir einfällt nach 20 oder 50h Spiel, ah schau, diese Rüstung gefällt mir die nehm ich noch mit rein, dann "darf" ich das nicht? Ist schon etwas übertrieben dieses "Gezicke" des Spiels oder? Ich frage weil das auch in der Beschreibung zur hier vorgestellten Mod auf Nexus steht.
     
  8. PRieST

    PRieST Bürger

    Ich selbst habe es bisher mit einigen Mods ohne weitere Probleme geschafft diese auch während des Spiels zu integrieren. Muss natürlich erst mal nichts heißen. Bei der Ladereihenfolge kommt es natürlich auch immer darauf an, was die Mods jeweils verändern und in wie fern das generell die Funktionalität beeinflusst (Voraussetzung andere Mods, ansonsten startet Skyrim nicht) oder aber "nur" die Inhalte von anderen Mods überschrieben werden und somit nur bedingt oder gar nicht funktionieren.

    Das größte Problem ist und bleibt aber meiner Meinung nach immer noch das entfernen von Mods aus einem laufenden Spiel. Hier muss du dann ganz besonders drauf achten, was evtl. getan werden muss, damit eine Mod fehlerfrei entfertn werden kann.

    Ich persönlich sehe weniger Probleme beim integrieren einer Rüstung(smod) in ein bestehendes Spiel. Aber auch das ist von Mod zu Mod unterschiedlich, da diese immer unterschiedlich in das Spiel integriert werden.
     
  9. PRieST

    PRieST Bürger

    Ich habe folgendes in meiner enblocal.ini stehen:
    [PROXY]
    EnableProxyLibrary=true
    InitProxyFunctions=true
    ProxyLibrary=d3d9_smaa.dll

    [GLOBAL]
    UsePatchSpeedhackWithoutGraphics=false
    UseDefferedRendering=true
    IgnoreCreationKit=true

    [PERFORMANCE]
    SpeedHack=true
    EnableOcclusionCulling=true

    [MULTIHEAD]
    ForceVideoAdapterIndex=false
    VideoAdapterIndex=0

    [MEMORY]
    ExpandSystemMemoryX64=false
    ReduceSystemMemoryUsage=true
    DisableDriverMemoryManager=false
    DisablePreloadToVRAM=false
    EnableUnsafeMemoryHacks=false
    ReservedMemorySizeMb=512
    VideoMemorySizeMb=29280
    EnableCompression=false
    AutodetectVideoMemorySize=false

    [WINDOW]
    ForceBorderless=false
    ForceBorderlessFullscreen=false

    [ENGINE]
    ForceAnisotropicFiltering=true
    MaxAnisotropy=16
    ForceLodBias=false
    LodBias=0.0
    AddDisplaySuperSamplingResolutions=false
    EnableVSync=true
    VSyncSkipNumFrames=0

    [LIMITER]
    WaitBusyRenderer=false
    EnableFPSLimit=true
    FPSLimit=58.0

    [INPUT]
    //shift
    KeyCombination=16
    //f12
    KeyUseEffect=123
    //home
    KeyFPSLimit=36
    //num / 106
    KeyShowFPS=106
    //print screen
    KeyScreenshot=44
    //enter
    KeyEditor=13
    //f4
    KeyFreeVRAM=115
    KeyBruteForce=66

    [ADAPTIVEQUALITY]
    Enable=false
    Quality=1
    DesiredFPS=30.0

    [ANTIALIASING]
    EnableEdgeAA=true
    EnableTemporalAA=false
    EnableSubPixelAA=true
    EnableTransparencyAA=false

    [FIX]
    FixGameBugs=true
    FixParallaxBugs=true
    FixParallaxTerrain=false
    FixAliasedTextures=true
    IgnoreInventory=true
    FixTintGamma=false
    RemoveBlur=false
    FixSubSurfaceScattering=true
    FixSkyReflection=true
    FixCursorVisibility=true
    FixLag=false

    [LONGEXPOSURE]
    EnableLongExposureMode=false
    Time=1.0
    BlendMax=0.0
    [THREADS]
    DataSyncMode=0
    PriorityMode=0
    EnableUnsafeFixes=false
    und habe damit bisher noch keinen einzigen CTD bekommen.

    VideoMemorySizeMb=29280 (ich habe hier nun gelesen, dass der Wert unnötig hoch und falsch ist, aber das ist das, was ich mit dem "VRamSizeTest v1.0" (DX11) als Wert angezeigt bekomme und da es wie gesagt noch zu keinem CTD geführt habe, werde ich auch nichts daran ändern. Warum ich hier DX11 genommen habe, weiß ich nicht mehr, aber hey, was solls ;)
    Bei DX9 wären es dann 4096MB

    Des weiteren habe ich folgende Einstellung in der CrashFixes.ini vorgenommen:
    [Patch]

    ; Info: Completely disable Skyrim's memory allocator and use regular C malloc. That means memory blocks will not exist anymore
    ; and game will not crash at some arbitrary limit. Theoretically it should also be faster (especially loading screens)
    ; and eliminate most ILS or freezing issues.
    ; IMPORTANT!!: You NEED custom plugin loader to run this so CrashFixPlugin.dll gets loaded before the game initializes!
    ; Here is the link to "SKSE Plugin Preloader": http://www.nexusmods.com/skyrim/mods/75795/?
    ; When this is enabled then Safety Load and SSME/SKSE memory patch are not needed, but they don't cause any trouble if you do have them.
    UseOSAllocators=1

    ; Info: When the game crashes unexpectedly then write the relevant information from crash to Data/SKSE/Plugins/CrashLog/crash_time.txt
    ; If game crashes when running out of memory or has other issues it's possible for the file to not appear or become empty!
    ; If the game crashes in SKSE dll or a SKSE plugin dll then it's possible for the crash information to not appear.
    ; This setting's value is treated as flags where:
    ; 1 - enabled (TL;DR set this for normal enable)
    ; 2 - don't write timestamp into file name but instead always write to crash_last.txt (overwritten by default)
    ; 4 - don't ignore already known crashes, usually ones that display a message box are ignored
    ; 8 - append file if it already exists instead of replacing
    ; 16 - when the game crashes CTD without a message box about game stopped responding
    RecordCrashInfo=0

    ; Write messages that appear in error box also to file in "Data/SKSE/Plugins/CrashFixPluginLog.txt"
    LogMessageToFile=1

    ; Info: Warn user on startup if ENB settings are incorrect.
    WarnBadENB=1

    ; Info: Crash happens unknown constructor (TESObjectLAND::unk_24 object), movaps instruction is used
    ; but heap allocate did not allocate this object to have 16 align. Crash happens more frequently
    ; with high Ugrids because more cells are loaded and greater chance to misalign.
    ; Solution: Could align only this object or align all objects. Trying with all to see what happens since
    ; same error could be elsewhere as well and I think I have seen it elsewhere.
    ; Result: Fixes these type of crashes. Some people report longer loading times and higher memory usage with this enabled!
    ; Update: Disabled by default since it's incompatible with some ENB settings, higher memory usage and longer loading times.
    ; It's safe and probably good to enable if you are ok with those downsides. I have not personally experienced
    ; any incompatibility with ENB, some people say it messes up their game that's why I wrote it here.
    AlignHeapAllocate=1

    ; Info: Game crashes when strcmp is passed NULL char*
    ; Address: D573A8
    ; Cause: Most frequently happens in TthkbClipGenerator::activate (0xBF2FB3),
    ; tracked issue to skeleton was deleted in another thread while
    ; this function is attempting to use it. Have seen in other places
    ; too.
    ; Solution: Unknown. This doesn't really fix it for BF2FB3 because it just pops up in foot IK.
    ; If patched in foot IK it pops up in hand IK, the problem is larger than just this.
    ; Still enabled because it may fix crashes in other places too this is a very common function.
    ; There's really no reason not to have it since the game would crash certainly with this off.
    ; Enable one. NoTry may be slightly faster but catches less crashes.
    StrCmp=1
    ;StrCmpNoTry=1

    ; Info: Game crashes when strlen is used on NULL char*
    ; Address: 46EDF0
    ; Cause: NiNode names are compared, one of the NiNode's name is NULL.
    ; Code:
    ; NiNode ** v72 = NiNode::children.data - this is iterated until count
    ; NiNode * v69 = ...
    ; const char * v56 = v69->name;
    ; if ( v56 )
    ; {
    ; const char * v57 = v72[v49]->name; // <- v57 name is not checked for NULL for some reason ?
    ; _strnicmp(v56, v57, strlen(v57)); <- strlen on NULL, also result is not even used anywhere!
    ; }
    ; Solution: Unknown, temporarily bypass whole strcmp since it's unused.
    ; Result: Seems to have stopped the crash for me.
    StrLen=1

    ; Info: Unknown, reported as loading save game.
    ; Address: 8B437C - vtable seems to be 0 or wrong pointer is used.
    ; Solution: Skip since this is the last part of the function and already has a check anyway
    UnkUniqueId=1

    ; Info: Unknown, reported as loading save game. Possibly related to rendering. First
    ; argument is gNiDX9Renderer->unk_650 which is a pointer.
    ; Address: CEC5EC - null pointer is passed as second argument to function, this function does not expect it
    ; Solution: Bypass using argument if it's null. Maybe doesn't fix.
    Render650=1

    ; Info: Unknown, no info was provided. // char __thiscall TESObjectREFR::unk_4D4EB0(TESObjectREFR *this)
    ; Address: 4D4EB9 - vtable of base form is 0
    ; Solution: Bypass and pretend that base form is 0 since the function does this check itself already
    UnkObjRef4D4EB0=1

    ; Info: Game is saving location's seen data to save game. The data is NULL.
    ; Address: 4C6031
    ; Cause: Game doesn't check for null pointer
    ; Code:
    ; TESObjectCELL * v3 = ...
    ; v5 = BaseExtraList::GetSeenData_40D980(&v3->extraData);
    ; result = (void *)(*((int (__thiscall **)(_DWORD, _DWORD))*v5 + 1))(v5, v2); // <-- v5 can be null! but not checked
    ; v5 is IntSeenData, size is known.
    ; Solution: Only solution seems to be temporarily creating an empty IntSeenData and writing this to stream instead.
    NullSeenData=1

    ; Info: BSFixedString::Set is called with NULL argument.
    ; Address: A51285
    ; Solution: Ignore call when NULL argument. Not really a solution :p probably better than crashing though.
    StringRefSetNull=1

    ; Info: This crash happens because StrLen crash was prevented.
    ; Address: 46EE1D
    ; Solution: Skip over it.
    ; Result: See StrLen.
    SkipStrLenCrash=1

    ; Info: This crash happens because unknown reasons during loading. Something to do with behavior graph.
    ; One of the more common crashes I get.
    ; Address: C27A8F
    ; Solution: Don't know, trying to let game think the value is 0 and see what happens.
    ; Result: Haven't had this crash since.
    bhvGraphUpdateLoad=1

    ; Info: Crash happens during loading, no idea. Might be related to rendering.
    ; Address: D822D8
    ; Solution: Tried patch something but it probably doesn't work.
    Unk11=1

    ; Info: Incompatible skeleton, but could be something else too.
    ; Address: 46ECF5 - NiNode children access
    ; Solution: No solution from here, but since it's going to crash anyway we could at least
    ; warn user about possible incompatible skeleton and let them fix it. Shows messagebox
    MissingNode=1

    ; Info: Crash, it's function array and index goes out of bounds which causes it to call invalid address.
    ; Address: 6F3A31
    ; Solution: Check index before calling.
    ; Result: Haven't had this crash since.
    IndexError1=1

    ; Info: Crash happens in "MovementPlannerAgentWarp" function, unknown what it does. LookupFormById returns
    ; NULL and game does not check or expect this to happen.
    ; Address: 76E358
    ; Solution: Game has a check for if returned isn't actor it sets 0 as value, we will do same if NULL is returned.
    MovementPlannerAgentWarp=1

    ; Info: Crash happens in DDB0A0, seems to be used in some havok animated object's vtables.
    ; Normally these crashes are fixed by aligning allocated memory with 16 bytes. But
    ; this one isn't because it can be used on static memory locations which aren't using
    ; Skyrim's allocator at all, this means that memory isn't guaranteed to be 16 byte aligned.
    ; Address: DDB0B2
    ; Solution: Use movups instruction instead of movaps.
    UnallocatedMovaps=1

    ; Info: Weird crash with NULL ptr in TESWorldSpace::GetCellByCoordMask_4375D0, don't know why it happens.
    ; Address: 437604
    ; Solution: return 0 if this crash would happen.
    ; Result: Haven't had this crash since, but it's rare anyway so it could be coincidence.
    CellNullCrash=1

    ; Info: Crash when trying to do: v14 = MagicItem::unk_406C70(a3)->properties.projectile;
    ; This 406C70 function is something like "GetMainMagicEffect". Sometimes though it may return
    ; NULL and in 90% of places the game expects this and checks for NULL result, this patch will
    ; fix the remaining locations.
    ; Address: 7E39EC, 657677, 6577D5, 65FEEC, 8127CF
    ; Solution: Check for NULL and skip (depends on location) if it is.
    GetMainMagicEffect=1

    ; Info: Crash when game searches node "NPC COM [COM ]" on actor but the node was not found. This is unexpected
    ; for game because it uses the result without checking for NULL. This whole thing has something to do
    ; with mounting. The function that does this whole thing is present in "StopMountCameraHandler" and
    ; "MountInteraction" vtable. Also it seems that this has something to do with updating position.
    ; More info: Was reported that this could happen if non-humanoid tries to mount a horse. This is a rather specific
    ; error with a mod. Instead we will show error message to user when this happens so they can
    ; fix or uninstall that mod.
    ; Address: 6E7F85
    ; Solution: Check for NULL and if it is NULL then use base node of actor instead of this. It's fine because
    ; we only take X and Y position from it.
    ; Solution2: Show error message and crash after.
    MountNodeCrash=0
    MountNodeWarn=1

    ; Info: Crash when game is trying to setup foot IK but there's a problem. Real cause is unknown but for me.
    ; So we will display a message box when this crash happens. Seems related to the
    ; StrCmp crash in BF2FB3, maybe. Try reducing the amount of installed animations.
    ; Address: BFECC1
    ; Solution: No solution from here, display warning with helpful tips.
    IKCrashWarn=1

    ; Info: Crash happens when rendering and saving. I think this is when it renders the save game image.
    ; if ( v8 ) // <- not null
    ; {
    ; if ( v8 )
    ; v9 = *(v8 + 8); // <- *(v8 + 8) is null
    ; else
    ; v9 = 0;
    ; v10 = *(v9 + 140) * *(a2 + 4) // <- crash because null
    ; + *(v9 + 136) * *a2
    ; + *(v9 + 144) * *(a2 + 8);
    ; v21 = v10 - *(*(v8 + 8) + 148) * a3;
    ; }
    ; Address: CB051A
    ; Solution: We will skip this if block when *(v8 + 8) is null, as if v8 was null.
    RenderSave=1

    ; Info: Crash was reported as casting spell. Only happens sometimes. Happens in movement controller.
    ; Seems like vtable is NULL.
    ; Address: 76636B
    ; Solution: This happens in a for loop and it happens in if clause. We can skip if this crash would happen.
    MoveControllerCast=1

    ; Info: Crash when saving game and trying to render (possibly save game image again?). It's trying to get
    ; vtable of NULL pointer which will crash.
    ; if ((*a2 + 76)(a2, a1)) // a2 is null
    ; {
    ; *(0x1BA9344) = a1;
    ; *(0x1BA9340) = a2;
    ; }
    ; else
    ; {
    ; *(0x1BA9340) = 0;
    ; *(0x1BA9344) = 0;
    ; }
    ; Address: CAF9F7
    ; Solution: Skip function call and set return value to false so we don't have to use the NULL value.
    SaveRenderCrash=1

    ; Info: Crash when game tries to get loaded node but it is set to NULL. Only ever seen this on two people.
    ; It is most likely actually related to corrupted mesh being unable to be loaded and game does not expect it.
    ; NiNode * node = a->GetLoadedStateNiNode();
    ; v2 = node->(*(vtable+0x14))(); // <- node is NULL
    ; if(v2) { *((int*)(v2 + 212)) = 0; } // <- we can skip this part since it has a check anyway
    ; Address: 4C119E
    ; Solution: Real solution would be to find the broken mesh and remove it. So lets notify user instead of ignoring this part.
    ; Enable one of the following, ignore problem and try to continue or show message box with object reference form ID and form Type.
    NullLoadedNodeIgnore=0
    NullLoadedNodeNotify=1

    ; Info: Crash in GarbageCollector::Add when actor argument's base form is NULL. Game does not check this, when in
    ; some other places it does check for this possibility.
    ; Address: 690A69
    NullActorBaseForm=1

    ; Info: Crash when modifying actor value but the pointer is bad, possibly due to actor being invalid. This happens often
    ; when script engine is lagged and spells want to modify actor values a lot.
    ; Address: 6E07C6
    AVSetCrash=1

    ; Info: If your scripts use more than 65535 different strings then the save game will be corrupt and not possible to load.
    ; This fixes it by changing the save file format slightly if string count is higher than 65520. That means if you
    ; have this option enabled and your save game would have become corrupt it changes format instead and vanilla game
    ; or save game tools will not be able to open it! Opposite is true as well, if the count goes below 65520 after
    ; and you save again then the format reverts to vanilla.
    ; TLDR: Fix for https://forums.nexusmods.com/index.php?/topic/3924850-corrupt-saves-strcount-0xffff-ctd-on-load/
    ; Address: Around 30 different parts of code had to be patched.
    StringCount32=1

    ; Info: Warn if SKSE memory patch is not active. This checks if default heap size is 256 or less and warns if you try to
    ; click New, Continue or Load in main menu. Still lets you play the game, just shows a warning.
    WarnSKSEMemoryPatch=1

    ; Info: If AlignHeapAllocate is disabled by user then fix that one movaps crash manually. There's no downside to having this enabled.
    ; Address: 4BD832
    FixMovApsManuallyIfAlignedAllocateIsDisabled=1

    ; Info: Overwrite array allocator directly when UseOSAllocators is set to 1. Don't understand the code enough yet to
    ; say if it's safe or not. At this point it's just here for testing.
    OverwriteArrayAllocator=0

    ; Info: Player's NiNode (not necessarily same as loaded node) is NULL while drawing world.
    ; Address: 69B84B
    NullPlayerNode=1

    ; Info: Function TESObjectREFR::CanBeMoved_4D9CF0 is called on an object reference that has NULL base form. This is not expected
    ; and will crash. We will instead return false from that function if that's the case. The problem is most likely larger than
    ; just this, if you prefer to crash instead disable it.
    ; Address: 4D9D09
    NullBaseFormMove=1

    ; Info: Game tries to iterate child nodes of a NiAVObject but it's possible that the target is not a NiNode and can't have child nodes.
    ; This ends up in a NULL pointer crash.
    ; v26 = v22->vtable->sub_5EADD0(v22); // Returns "this" if v22 is a NiNode and returns "NULL" if not.
    ; for ( i = 0; i < v26->children.emptyRunStart; ++i ) // crash because v26 is NULL.
    ; Address: 46CA06
    NullRefNode=1

    ; Info: Something is done with outfit of NPC, but one or more entry is NULL and game crashes.
    ; Address: 561FF7
    NullOutfitEntry=1

    ; Info: Actor is being deleted and base form is NULL.
    ; Address: 6BAC9A
    ActorDeleteNullBase=1

    ; Info: Does two things:
    ; 1. Tracks the last X files opened by game.
    ; 2. If the game crashes while reading binary data stream (e.g. NIF file but could be others too) then show message box listing
    ; those files.
    ; This can be helpful to track down a corrupted NIF file.
    DebugStream=1

    ; Info: When the game fails to create texture in memory should we display a warning and exit game? Recommended yes because you will
    ; see purple textures couple of seconds and then the game will crash anyway since it's not expected for this to be a NULL value.
    WarnTextureFailure=1

    ; Info: Something is done with face gen animation on BSFaceGenNiNode but the parent node is NULL which is unexpected.
    ; Address: 5A8808
    NullParentNode=1

    ; Info: For debugging purposes, on game startup run allocator benchmark and write results to "AllocatorBenchmark.txt" in Skyrim root
    ; directory. This compares vanilla, aligned vanilla, malloc, aligned_malloc and custom memory block implementation. When you reach
    ; main menu the game will start the test, wait for a message box to say the test is completed, then close game and disable this option.
    RunAllocatorBenchmark=0
    ; Info: How many objects to allocate and free for each size (8, 12 and 16).
    CountAllocatorBenchmark=1000000
    ; Info: How many times to run each test.
    TimesAllocatorBenchmark=2
    ; Info: How many threads to run concurrently. Most accurate is only running one thread, although you can also try 2 to see the performance
    ; of thread-safe code.
    ThreadsAllocatorBenchmark=1

    ; Info: Enable custom block allocator for small sizes. May help with memory fragmentation problem. This option does nothing if UseOSAllocators
    ; is not enabled.
    CustomMemoryBlock=1

    ; Info: Set total megabytes allocated for the custom block allocators. This amount is sensibly divided between each block.
    ; Has no effect if CustomMemoryBlock is not enabled. The more you allocate here the less memory you have for other stuff!
    CustomMemoryBlockTotalSizeMb=64

    ; Info: Show usage of each memory block in per cent when you open console. Has no effect if CustomMemoryBlock is not enabled.
    ; This can help you tweak the CustomMemoryBlockTotalSizeMb value.
    MemoryInfoConsole=0

    ; Info: Fixes two crashes specific to Enderal mod. Seems like something to do with havok.
    ; Address: EBC0A6 and ECD92E
    EnderalSpecific=1

    ; Info: Active effect list of actors is not thread safe but accessed and modified from multiple threads, this will add mutex to each actor's
    ; effect list.
    FixUnsafeEffectList=1

    ; Info: Game crashes when actor's combat style form is NULL for some reason. Warn the user and try to display the actor's reference and base ID.
    ; Address: 8368B1
    WarnNullCombatStyle=1

    ; Info: Set OS update frequency to 1 millisecond (regular is around 16) and replace GetTickCount with timeGetTime. This is for debug only! Don't use.
    ; May reduce performance.
    HighFrequencyOSTimer=0

    ; Info: Make game's update timer more accurate. This is for debug only! Don't use.
    HighFrequencyGameTimer=0

    Ich kann damit nur für mich sprechen, aber das Spiel läuft so rund, wie schon lange nicht mehr.
    Ob ENBoost nun aktiv ist oder nicht, ist mir in meinem Fall relativ egal, da es ja funktioniert.

    P.S.: Sorry für den Doppelpost, aber ich wollte das ganz bewusst trennen^^
     
  10. Lahmaf

    Lahmaf Freund des Hauses

    Das würde wahrscheinlich jeden interessieren, weil er sich eine neue Graka mit mehr VRAM dann sparen könnte. :)
    Also ich hole locker das Doppelte an VRAM heraus aus meiner Graka.
    Kleiner Prinz du hast ja zwei, das müsste das Vierfache sein.
    Manchmal borge ich mir VRAM beim Nachbarn. ;)
     
  11. Blaubeerman

    Blaubeerman Vertrauter

    Ich kann nur sagen, daß ich mit dem nachträglichen Installieren von Mods noch nie Probleme hatte. Das mitten im Spiel wieder rausnehmen ist da ein ganz anderes Kapitel. Und es gibt ja auch Mods, die explizit erst ab Erreichen eines bestimmten Punktes installiert/aktiviert werden sollen/dürfen, ich denke da z.B. an Helgen Reborn.
    Auch die ENBoost und die anderen Crashfixes habe ich erst nach etlichen hundert Spielstunden notgedrunden installiert, sonst wäre es mit den bis dahin schon installierten Mods nicht mehr so richtig gelaufen, was die Stabilität betrifft.

    Wie gesagt, das sind meine "Erlebnisse" mit nach dem Spielstart vorgenommenen Änderungen.

    Bye, Bbm.
     
  12. Novem99

    Novem99 Bürger

    Isses. 10240 ist laut B. Vorontsov der maximale Wert hierfür. Alles drüber bleibt wirkungslos.
     
    Lahmaf gefällt das.
  13. PRieST

    PRieST Bürger

    Ja ok ;)
    Ich werde den Wert aber trotz allem so stehen lassen, denn Schaden tut es ja auch nicht^^ Beruhigt aber mein Gewissen, da ich bisher wie gesagt von keinem CTD gequält wurde ;)
     
    Lahmaf gefällt das.
  14. Lahmaf

    Lahmaf Freund des Hauses


    Mods während des Spiels hinzufügen und die Ladereihenfolge verändern hat bis jetzt immer funktioniert. (Wrye Bash)
    Wichtig bei der Sache sind die Skripte sowohl beim Installieren, wie beim Deinstallieren. (Ladereihenfolge von LOOT - notfalls mit Hand korrigieren)
    Aber immer eine Sicherung von Skyrim anlegen, dann probieren.
    Dabei kann man schon mal ein paar Spielstunden einbüßen - zwei Tage 10 Level für die Katz, na und Sicherung her weiter geht es.
     
  15. Danke für die Rückmeldungen. Mir gings nur darum Mods während des Durchgangs einzufügen ohne großen Schaden zu nehmen und die Erfahrungen damit, nicht generell wie man das macht und Ladereihenfolgen einhält, so neu bin ich dem Thema dann auch nicht :D Die Ladereihenfolge ändert sich ja dadurch schon wenn man neue Esps einfügt, darum gings mir. Gut dann werd ichs ja sehen, Skyrim konnte früher schon 100h tadellos laufen ohne was zu verändern und dann urplötzlich rumspacken. Ist halt ne Diva ^^
     
  16. Kleiner Prinz

    Kleiner Prinz Ratsmitglied

    Und so steht es auch bei mir. ;)
    Alles darüber ist sinnlos.

    Also ich installiere wie wild ständig neue Mods :D, und was mir nicht mehr gefällt, fliegt raus. ;)
    Bis jetzt hatte ich deshalb noch nie Probleme, und mein Skyrim läuft weiterhin stabil. :)

    Nur ist das halt kein "nativer" VRAM, sondern "virtueller" VRAM.
    Und virtueller VRAM ist lahmer Mist (Latenz), und bremst Skyrim erheblich aus.
    Zudem ist die Nutzung von virtuellem VRAM völlig unnötig, da die meisten PC-Besitzer mittlerweile über ausreichend VRAM auf ihrer GraKa verfügen.
    Mein Rat: Einfach mal den MSI-Afterburner installieren, und per InGame-Anzeige nachschauen, wie viel nativen VRAM das Skyrim aktuell gerade nutzt. :)
     
    Zuletzt bearbeitet: 6. Januar 2017
  17. bei 32 bit. bei 64 bit gilt lt. Vorontsov der mit dem tool ermittelte Wert für DX9 abzüglich 170, wobei ich bislang noch niemanden kenne und irgendwo gelesen habe, dass bei oldSkyrim (läuft ja unter DX9) diese VRam-Grenze überhaupt erreicht werden konnte, gleich, was installiert. Ist also ein theoretischer Wert, für die Praxis bedeutungslos, ob 10240 oder mehr (wobei ich aber auch nirgendwo gelesen habe, worauf die 10240 überhaupt gründen).

    Nachträgliches Intallieren von Mods ist ansich problemlos, wenn man z.B. mit LOOT die Ladereihenfolge aktualisiert. Andere schwören auf BAIN, wieder andere auf TesModManager (OBMM).

    Nach meiner Erfahrung (ist mir sehr häufig passiert) treten mit dem neuen NexusModManager Probleme u.U. auf, wenn man ein Mod, das ein fomod hat, installiert, wieder deinstalliert und dann geändert erneut installieren will. Irgendwie schafft NMM es nicht, den vorherigen Zustand exact wieder herzustellen und hinterlässt so Files, die nicht sein sollten, oder aber kopiert keine Files rein, die nun rein sollten. Ausserden zickt NMM, wenn das zu installierende Mod seine Subfolders nicht sauber hat, also z.B. ohne /data/ einfach ein esm und bsa und ein Verzeichnis DOC o.ä. Nachlässigkeiten des Modders, weswegen ich mir mittlerweile angewöhnt habe, vorher erst mal das Paket zu entpacken und zu überprüfen und ggf. neu zu packen und erst dann NMM zum Installieren zu geben. Direkt von Nexus in einem Gang download und Installation kann böse Überraschungen mit sich bringem.

    @Kleiner Prinz
    ich komme, je nach Mod, gut über die verbauten 4GB VRam (ohne Mods hab ich 2.500 - 3500 MB VRam usage), wobei ENBoost kein virtuelles VRam erzeugt (der virtuelle Speicher bei Win7/64 ist der auf der HDD genommene Auslagerungsbereich, also wieder was anders), sondern ein Teil des RAM zu shared RAM macht, also genau das, was bei Rechnern (vor allem bei Notebooks) je nach Grafikkarte und Win7/64 eingebaut ist, wenn z.B, die Karte 2GB VRam hardwaremässig hat aber weitere 2GB shared vom RAM erreichen kann. Es haben nicht alle, wie Du, 2 x 8 GB VRam. (unter Win10 sieht das dann noch anders aus mit dem VRam). Natürlich ist die Nutzung von Shared Ram eben nur so schnell, wie das Ram ist, was langsamer ist, als VRam.

    Aber (hab diese Nacht zum gefühlt 100sten Mal Skyrim komplett neu installiert) es macht Sinn, nach einer Erst- oder Neuinstallation von Skyrim das erst mal alles ab /Skyrim/ in ein anderes Verzeichnis zu kopieren, so dass man bei evtl. später notwendigem Neuinstllieren sich die Arbeit zumindest bis dahin sparen kann.

    und einfacher zu handhaben, als der MSIafterburner, ist auch für ingame-Anzeige der Skyrim PerformanceMonitor 3.8. (gibts mittlerweile auch für Skyrim SE), ersetzt auch Fraps. Der Afterburner verleitet zum Rumfummeln und kann für Unerfahrene sehr kritisch werden.

    Edit: Da Kleiner Prinz ja hardwaremässig mindestens 8GB VRam hat, düfte er in der Praxis noch nie an die Schwelle gekommen sein, wo ENBoost zu shared greifen will, kann also kein Praxisaussage über die eigentliche Funktion von ENBoost unter WIn 64 bit machen.

    @PRieST lt. Deine Angaben oben hast Du maximal 4GB Vram zur Verfügung, unter Win7/64, also bewegst Du Dich sowieso immer unterhalb des kritischen Wertes. Du kannst gar nicht mehr. Deine auf DX11 basierenden Einstellungen waren/sind ohne Wirkung.
     
    Zuletzt von einem Moderator bearbeitet: 6. Januar 2017
  18. PRieST

    PRieST Bürger

    Hab es vergessen zu erwähnen, aber ich nutze win10/64bit mit einer gtx 1070 (8gb vram).

    Und wie schon gesagt, es ist unnötig, ja, aber warum sollte ich es denn ändern, wenn es doch so auf jeden Fall funktioniert...und wenn es nur ein “placebo“ ist mit der hohen Einstellung ;)
     
  19. Kleiner Prinz

    Kleiner Prinz Ratsmitglied

    Entschuldige !!! ...du hast da natürlich vollkommen recht. :)
    Ich habe mich mittlerweile so daran gewöhnt, dass jeder, den ich kenne, mindestens 6 oder gar 8 GB VRAM auf seiner GraKa hat.
    Dass sich manche noch mit 4 GB abkämpfen müssen, hatte ich fast schon vergessen. ;)

    Mag sein, aber ich hatte deshalb für Unerfahrene, extra eine Anleitung gepostet:
    http://www.elderscrollsportal.de/themen/mein-rechner-macht-modern-art.51140/#post-1029084
    Persönlich halte ich den Skyrim Performance Monitor, eher für eine Spielerei, und lange nicht so zuverlässig, wie den MSI-Afterburner.

    Diesbezüglich hatte ich mal eine Anleitung geschrieben, wie man sich bei einer Neuinstallation viel Arbeit ersparen kann:
    http://www.elderscrollsportal.de/themen/mein-rechner-macht-modern-art.51140/#post-1029199

    Eine Neuinstallation ist bei mir schon seit ewigen Zeiten nicht mehr nötig.
    Das Zauberwort lautet: Datensicherung des kompletten Skyrim. :)
    Alle paar Tage, bzw. wenn ich eine Änderung am Skyrim vorgenommen habe, folgt eine Datensicherung des kompletten Skyrim auf eine externe Festplatte.
    Dort liegen dann chronologisch gleich mehrere dieser Sicherungen.
    Und ich kann gar nicht mehr sagen, wie oft mir diese Sicherungen schon das Leben gerettet haben, und mich vor einem Herzinfarkt bewahrt haben. :D;)
     
    Lahmaf gefällt das.
  20. Nutze ebenfalls den Afterbunrer, ohne meine selbst erstellte Lüfterkurve würde gar nix richtig laufen weil die Treiber es nicht mehr gebacken bekommen derzeit. Über 4GB Vram? Ich hab in meinem zugemoddeten Skyrim selten mal 2GB Vram, in Fallout 4 mal knapp über 3 GB VRam. Wo ich fast 4 bekomme sind FarCry Primal (3,9) und AC Syndicate wenn man es entsprechend hoch stellt. Keine Ahnung wie das bei Skyrim gehen gehen soll außer man klatscht sich jede Ecke mit 4k Texturen voll.

    Neuinstallation des ganzen Spiels wird sowieso oft überbewertet, hilft in den meisten Fällen überhaupt nicht weil das Problem meist etwas ganz anderes ist.
     
    Dr.Dementor und Lahmaf gefällt das.
  21. Werbung (Nur für Gäste)
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden