Jump to content

2019 Skyrim LE Stability Guide


mrsrt

Recommended Posts

Posted
5 hours ago, Myst42 said:

Continuing on this idea seems like thread derailment tbh, but suffices to say that acquiring real time variables was likely the only way to get the thing I wanted done, done. Ask around and I doubt you'll find a flawless way of identifying power attacks on an animation event. Hell, if you do, let me know and I'll try to update what I can. bAllowRotation is the only scripted thing that has been found to work in such cases. I can agree that whenever one can use more stable variables, one should do it, but sometimes, a mod's goals just need dynamic variables or else they wont do the thing they're supposed to do. Sometimes there are many ways to do things and one has a choice which should be optimal, sometimes, there is only one choice.

Since I'm not much familiar with CK I cannot give you a right way to solve the problem, furthermore the right way may not even exist. But, I can give you a very dirty lock-solution with Papyrus:

bool exitFlag = false

function loop()
  while PowerAttackFlag.getValue() == 0
    if exitFlag
      return
    endif
  endwhile
  processPowerAttack()
  if !exitFlag
    loop()
  endif
endfunction

function processPowerAttack()
  // your power attack processing here
endfunction

With this solution loop() will hold and never release executors context and the processPowerAttack() function will be launched almost immediatelly when the PowerAttackFlag will be changed (be careful, can be triggered several times). But this way Papyrus performance will be damaged as you already suggest. To minimize the damage you can also play with utility.wait() inside the loop, but it will also decrease reaction speed.

 

5 hours ago, Myst42 said:

Ah, the infamous infinite While loop without any breaks.

Yeah, I've seen some of those, and even tested myself why they shouldn't exist.

Still though, my original point is that there is no clarity of concept on what "heavy" scripting means. You have your definition, other people have theirs, and most users have not even the slightest clue of what they're even taling about, going as far to say that some users avoid mods with scripts in general because they believe that the more scripts a mod has, the more likely it's gonna "break" their game.

You use the concept mostly as "slow" scripts considering how much time/memory they consume, and it's valid from your point of view. I even kinda like it myself. However I first encountered that concept as just a slow script.

Now that While loop and such things, I dont even consider functional scripts. Those kinds of abominations are just bad coding.

Its a broken mod to even begin with, and I'd say there is a difference between a script that works and one that's broken. A script can be very very slow and take a lot of time and resources to finish, but if your game can take it, it's not "broken". And given the enormous capacity of the game's engine to process scripts, going from 10-250 scripts on a regular basis, and tolerating overloads of thousands while still coming out alive, I'd say the game is more than equipped to handle a slow script on normal circumstances as long as one thing happens: that it ends without complicating the system any further.

Eh... like I said on my first post here, we've had similar threads before, and my opinion remains the same: everyone has their own definition of certain concepts. "heavy scripting" being one of them. I agree it may be true some scripts consume more resources, but who cares as long as they actually work. Now bad coding, is an entirely different kind of abomination.

Actually, there shouldn't be any discrepancy in understanding what means "script heavy". If you put a new script in your Papyrus VM and this script works much slower than it should be, then your Skyrim already script heavy. It can happen if you have already many other scripts, that consume resources so free resources for a new scripts just not exist and it must wait. Any other understanding is wrong, or called differently.

Infinite loops and other abominations is not always shitcodding. Many cases requires exact solution to be implemented because it is the only right way. For example, network selector, server must always read byte buffer and react immediatelly if receives something. But the question here is how a program language process such things and how many you have them working. 

 

Posted

It seems that you are a very capable programmer and have performed very detailed tests and I am glad that you publish your results. Only a very small group of people do that. THANK YOU.

 

Yours tests confirm my words, although there are some things you does not understand and are surprising you. But is Skyrim. People think "this MUST work in this way" but when specific tests are done, the results prove otherwise.

 

Nobody knows how the Game Engine and the Script Engine have been programmed because we don't have the source code. We can only use the disassembler and perform tests to try to find out how they have implemented it and you know very well that different implementations give different results with different yields and capabilities.

 

9 hours ago, mrsrt said:

It is a very bad sign, that may mean Papyrus does not clear its memory at all during game session. But, in games clearing also may happen while loadings, for example, when we change location.

Papyrus certainly has a problem in the memory cleaning system, but it only appears when the script engine becomes saturated.
The main function of the Script Engine is to run scripts and as long as you have scripts pending execution, it will not start the garbage collector and will not free memory.
I am not completely sure and should do specific tests, but I think the garbage collector does not run when a change of location is made. That is a change for the game engine, but not for the scripting engine because the scripting engine does not need to know where we are and making a change of location can only increase the load on the scripting engine because can need initialize and execute scripts attached to the objects on the new location.
Actually, I think the script engine garbage collector runs only and exclusively in the free time of the 1.2 milliseconds, while the script engine has nothing else to do. If the Script Engine is saturated of works expent all the time in intialize and execute scripts.

 

 

But you must read some of my words again and do more tests because you are drawing some incorrect conclusions.

 

As I said and demonstrated, a value of 64 mb in iMaxAllocatedMemoryBytes lower the performance of the Script Engine in overload situations.

Really "increases total amount of threads that executor can hold" because the 64 mb size allow put thousands of call in the queue and the first thing that the Script Engine does when starts its 1.2 milliseconds is to take all those calls and transform them into a script of type "Requested Call" but not execute it.
For that you say "slows recursive calls" because the Script Engine spends more time in get the new call than execute it.
You can verify my words in the Stack Dumps simply counting how many "Dumping Stacks" you have and how many "Requested call" you have.

 

 

Adidtionally, you have made test with very small size of iMaxAllocatedMemoryBytes and your results are similar. That is for three motives.
1 - Yours calls are very small because you not have parameters in the calls.
2 - You are generating the calls with scripts
3 - All yours scripts are executed in a secuential way because they have the same owner.

 

1 - If you want test how the size of the Call Stack affect the performande you must add a lot of big parmeters in the call in this way:
 

Spoiler

int itr = 0
Function recursiveAlloc(Float[] FloatArray)
    Float[] arr = new Float[128]
    itr += 1
    If (itr % 1000) == 0
        Debug.Trace("[MEMORY TEST] " + itr + " allocations happened")
    EndIf
    recursiveAlloc(arr)
EndFunction

 

 

2 - The Script Engine can not generate a super really big lot of calls because are executed only for 1.2 milliseconds. Only the game engine can put millons of call in the Stack because is executed for 14 ms in each frame.

3 - For execute script in a real paralel way you must attach it to diferent owners.

 

How to develop the points 2 and 3 is a very large explanation and i not have any problem in explaining it but i think is not matter of this post. But i can make it if you want or you can contact me with Private Message.


For not write more i only say that you can get acuratelly execution time, up to the nanosecond using the function GetCurrentRealTime as this page show.
If you need more detailed timing in Papyrus for compute the time invested for each line of code you can use Profiling because Papyrus have Profiling and i have used it sometimes.

Posted
2 hours ago, GenioMaestro said:

It seems that you are a very capable programmer and have performed very detailed tests and I am glad that you publish your results. Only a very small group of people do that. THANK YOU.

 

Yours tests confirm my words, although there are some things you does not understand and are surprising you. But is Skyrim. People think "this MUST work in this way" but when specific tests are done, the results prove otherwise.

 

Nobody knows how the Game Engine and the Script Engine have been programmed because we don't have the source code. We can only use the disassembler and perform tests to try to find out how they have implemented it and you know very well that different implementations give different results with different yields and capabilities.

Correct, however, as we can see, Bethesda uses programming patterns what help us to understand the main picture. Of course, each implementation may have its own features, but the main behavior remains the same. 

 

3 hours ago, GenioMaestro said:

The main function of the Script Engine is to run scripts and as long as you have scripts pending execution, it will not start the garbage collector and will not free memory.

What exactly do you mean under "pending"? I gave pauses to Papyrus with RegisterForSingleUpdate(), in this state a thread considered as scheduled and does not wait for execution. I'm afraid, Skyrim may not have any garbage collection. 

 

3 hours ago, GenioMaestro said:

I am not completely sure and should do specific tests, but I think the garbage collector does not run when a change of location is made. That is a change for the game engine, but not for the scripting engine because the scripting engine does not need to know where we are and making a change of location can only increase the load on the scripting engine because can need initialize and execute scripts attached to the objects on the new location.

I made the guess by my experience. Many games (especially old ones) do cleanups while loadings, and Skyrim is not an exception. If you check carefully ram consumption while change locations you'll find that at first the engine unload the old cell, so, at least, we can say some cleanup happens. It was made this way, because old games does not have async memory management and cleanups lead to micro-freezes. You can easily see them if set insane speedmult for your character and start to run across skyrim. While a freeze happens the game unloads the old sector and loads the new. 

In other words, if Papyrus would do cleanups during game time it may bring to additional stutterings, so, it was a fair guess. 

I also recommend to play with bPreemptivelyUnloadCells and bSelectivePurgeUnusedOnFastTravel in Skyrim.ini, it may have affect on Papyrus, I didn't test it. 

 

3 hours ago, GenioMaestro said:

But you must read some of my words again and do more tests because you are drawing some incorrect conclusions.

 

As I said and demonstrated, a value of 64 mb in iMaxAllocatedMemoryBytes lower the performance of the Script Engine in overload situations.

As we can see, for now we can only be sure it slows recursion calls and increases the thread pool size what also can slow in situations with several thousand threads. But, these are just 2 very special situations that say almost nothing about real performance. We don't know will the increasing slow real non-recursive function calls or not. We don't know why your Papyrus was able to produce several thousands of threads with 64mb when I reached the cap with only 120 threads while PSQ leak with the same 64mb. We don't even know for sure what exactly this option change now, lol. So, we cannot make any conclusions about the option.

Only performance tests can answer the question. Unfortunatelly, I didn't make performance tests. This research took a half of my day, I cannot test Skyrim whole my time. If you want and able to test it, feel free to continue and public the results. I can write a scenario how to test it properly if you want.

 

3 hours ago, GenioMaestro said:

Really "increases total amount of threads that executor can hold" because the 64 mb size allow put thousands of call in the queue and the first thing that the Script Engine does when starts its 1.2 milliseconds is to take all those calls and transform them into a script of type "Requested Call" but not execute it.
For that you say "slows recursive calls" because the Script Engine spends more time in get the new call than execute it.

By your logic, how it can be slowed this way if there is only one thread, only one script and only one function?

 

4 hours ago, GenioMaestro said:

...

As I said, feel free to continue this research, I'm tired already from this and spent enough of my personal time to test it, especially when all of this around a param that doesn't even have a real affection on gameplay with a properly working game. If you'll provide a strong fact of what exactly this option do, confirmed with tests or official links I'd glad to edit the main message of the topic, but for now I'll simply follow "Increasing this value may improve performance in high-stress situations with lots of scripts running" from the official wiki. Highly likely it is not true, but we have no real proofs for it, only 2 specific situations was affected by the option. 

Posted
11 hours ago, mrsrt said:

Actually, there shouldn't be any discrepancy in understanding what means "script heavy". If you put a new script in your Papyrus VM and this script works much slower than it should be, then your Skyrim already script heavy. It can happen if you have already many other scripts, that consume resources so free resources for a new scripts just not exist and it must wait. Any other understanding is wrong, or called differently.

Your aproach is good but not acuratelly.

 

"If you put a new script in your Papyrus VM and this script works much slower than it should be"

How you can know that???  If that script come from a mod that you NEVER had instaled before you can not know if is executing "much slower than it should be".

 

"then your Skyrim already (is?) (are?) (have?) script heavy"

How you can know that??? Can be another problem related to the instalation of the mods, the dependencies, colisions...

 

 

I develop Script Test to show that "Script Heavy Mods" do not exist and that the Script Engine can support a tremendous load of scripts, very far from the load that all the modifications can generate by executing them all at the same time, before having any performance issue

 

My game is running now with all the "heavy script mods" I can find. I download, install and test each mod with problems reported by the users. Now I have about 350 mods and 240 plugings working with Vortex without any problem.

And I'm still  long away from Overloading the Script Engine. I never have stack dumps in my logs.

Until the scripting engine does not generate stack dumps, the scripting engine is not saturated and can support a greater load of scripts.

 

Another thing is the latency, the response time of the scripts and the delay we may have when executing scripts. And here we can have an eternal discussion.

Posted

Recently my Skyrim started to CTD in crowded locations. It was okay, because I made several changes for tests and expected it. And, finally, I came to a place which I wasn't able to pass because of CTDs. It was in the last quest of Rigmor of Cyrodiil where you should pass through a farm where groups of enemy soldiers spawn dynamically (total about 70 + about 30 on your side). Game was simply crashing while I fight them. I started to rollback every change I made and, surprisingly, crashes stopped when I set iMaxAllocatedMemoryBytes back to 64mb (from 75kb). So, I made several tests on the same save and loadorder with almost the same my ingame actions:

 

75kb

1 - CTD

2 - CTD

3 - passed

4 - CTD

5 - passed

6 - passed

7 - CTD

 

64mb

1 - passed

2 - passed

3 - passed

4 - passed

5 - passed

6 - passed

7 - passed

 

I don't know currently how to interpret these results, but it doesn't look like coincidence. Maybe it somehow moves some memory block that cause problems, maybe the option affects on some initial heap which cause CTD when realloc happens. Idk, just publish the results.

 

Also, I found that the new Load Game CTD Fix affects on FPS and increases loading time even between cells. Got back to the Continue Game No Crash

Posted
2 hours ago, mrsrt said:

Recently my Skyrim started to CTD in crowded locations. It was okay, because I made several changes for tests and expected it. And, finally, I came to a place which I wasn't able to pass because of CTDs. It was in the last quest of Rigmor of Cyrodiil where you should pass through a farm where groups of enemy soldiers spawn dynamically (total about 70 + about 30 on your side). Game was simply crashing while I fight them. I started to rollback every change I made and, surprisingly, crashes stopped when I set iMaxAllocatedMemoryBytes back to 64mb (from 75kb). So, I made several tests on the same save and loadorder with almost the same my ingame actions:

 

I don't know currently how to interpret these results, but it doesn't look like coincidence. Maybe it somehow moves some memory block that cause problems, maybe the option affects on some initial heap which cause CTD when realloc happens. Idk, just publish the results.

 

Also, I found that the new Load Game CTD Fix affects on FPS and increases loading time even between cells. Got back to the Continue Game No Crash

Why the game does CTD is the most frequent question and my experience says that 99% of the time is caused by a memory allocation failure. The game works with a memory block system that is pathetic and when it does not find a free block of the necessary size, it generates CTD.

 

When the game was released, the CTD was constant every time we overloaded it a bit. The inclusion of ExpandSystemMemoryX64 in ENB, using memory allocation in the upper zone, provides some additional stability because it reduces memory fragmentation and increases the possibility of obtaining a block of the necessary size. But that is not enough.

 

SSME changes the management of memory blocks and since 2014 we get a more stable game. You should know that SSME is included within SKSE with the inclusion of the skse.ini file.

 

That management system gives the game more stability, but it is not enough when we install hundreds of modifications with great requirements. At some point, like crowded zones, the problem is the same. The memory blocks are out and the game generates CTD.

 

The only way for completely solve the memory problems in Skyrim is to use OsAlocators from Crash Fixes.

Have you tried it?

 


Surely you think the iMaxAllocatedMemoryBytes parameter has some relationship with your CTD but you know that this parameter is related to Papyrus.

Have you activated the log to do your tests? Have you seen a stack dump?
Because if there is no Stack Dump that parameter has no effect.

 

Finally, Load CTD Game Fix and Continue Game No Crash cannot have any relation to your FPS problem. They are only activated while the savegame is loaded. Search yours FPS problems in other side.

Posted
34 minutes ago, GenioMaestro said:

Why the game does CTD is the most frequent question and my experience says that 99% of the time is caused by a memory allocation failure. The game works with a memory block system that is pathetic and when it does not find a free block of the necessary size, it generates CTD.

 

my last ram ctd was when i played enderal

didn't bother editing the enb ini when i was checking which enderal enb to pick

and after picking one, i had a few ram ctd, until i finally understood i forgot that

 

was that a ctd when i lost my body msn when i was out of ram in whiterun? nope

what is pathetic, is asking the game to find some memory that doesn't exist, and cry that doesn't work

 

Posted

 

2 hours ago, GenioMaestro said:

The game works with a memory block system that is pathetic and when it does not find a free block of the necessary size, it generates CTD.

The game doesn't find any blocks. It simply allocates it with malloc. I know how it works.

 

Quote

The only way for completely solve the memory problems in Skyrim is to use OsAlocators from Crash Fixes.

Have you tried it?

Oh, hell yes, just yesterday. I stood at a crowded complex city (Arnima), made save, turned off the enb memory expander and turned on the OS allocations. The game crashed on load, lol. I took a look on task manager, with enb expander on, the game consumed up to 5GB RAM while loading. Probably this is why I got crash. Enb expander creates the second process (enbhost) that can take additional 3GB of the game and total up to 6GB. 

In other words, you cannot play with 4k textures for everything without the enb expander. 

 

Quote

Surely you think the iMaxAllocatedMemoryBytes parameter has some relationship with your CTD but you know that this parameter is related to Papyrus.

Have you activated the log to do your tests? Have you seen a stack dump?
Because if there is no Stack Dump that parameter has no effect.

I always wonder how can you be so sure in your words, especially when you cannot even know what this param exactly does, and tests showed that the param has no relation to stack size. Actually, I only published the results.

 

Quote

Finally, Load CTD Game Fix and Continue Game No Crash cannot have any relation to your FPS problem. They are only activated while the savegame is loaded. Search yours FPS problems in other side.

And again. Maybe, if I said that I made several tests that aprooved it? Didn't you think of that? If you didn't know, any dll can gain access to the render thread and host its stuff there. Do proper tests before making statements.

Posted
7 hours ago, mrsrt said:

The game doesn't find any blocks. It simply allocates it with malloc. I know how it works.

If the allocation fail the game generate CTD. Do you have any doubt about it?

 

7 hours ago, mrsrt said:

... turned off the enb memory expander ...

Enb expander creates the second process (enbhost) that can take additional 3GB of the game and total up to 6GB. 

In other words, you cannot play with 4k textures for everything without the enb expander. 

Again, you can imagine what the ExpandSystemMemoryX64 parameter does based only on what YOU think it does. But ... Have you verified it?
Do you think the enbhost process only starts when you activate ExpandSystemMemoryX64?
Do you think that enbhost only consumes memory when you activate ExpandSystemMemoryX64?

 

Open enblocal.ini and put UsePatchSpeedhackWithoutGraphics=true and ExpandSystemMemoryX64=false

Launch the game and you will see the enbhost process. Read several savegames and see how enbhost consumes memory. If you get CTD try starting a NEW GAME.
Again, you are totally confused and the parameter ExpandSystemMemoryX64 not make any of the things that you say and for that every good guide recomend disable it.

 

7 hours ago, mrsrt said:

I always wonder how can you be so sure in your words, especially when you cannot even know what this param exactly does, and tests showed that the param has no relation to stack size. Actually, I only published the results.

Because i made the necessary test for discover it understanding the information in the web pages and the results of the test in the correct way and not in the way i want.

 

7 hours ago, mrsrt said:

And again. Maybe, if I said that I made several tests that aprooved it? Didn't you think of that? If you didn't know, any dll can gain access to the render thread and host its stuff there. Do proper tests before making statements.

Of course, any dll and any program CAN make anything that they want. But what motive have? Why that dll can need access to the render thread? The description say very clear what make the dll and using comon sense i only can think: Is imposible that have any relation and the FPS problems must be caused by other motive.

 

 

Have you checked the recommendations in your guide with more people?
How many people have a stable game using your parameters?

Many parameters that you recommend are totally contrary to the parameters recommended in any other guide that has been very well verified by hundreds and hundreds of users and those guides have shown that it is the best parameter setting for the game.

Probably, you should forget everything you know, clear your head of all the erroneous concepts, throw away your current configuration and start a new configuration following a good guide. Maybe you learn something in the process.

Posted
6 hours ago, mrsrt said:

 

I always wonder how can you be so sure in your words, especially when you cannot even know what this param exactly does, and tests showed that the param has no relation to stack size. Actually, I only published the results.

 

it's on crap kit site what those settings do....

but it's too complicated for them to bother taking a look

 

maxallocatedmemory is what it is called, the max memory allocated to scripts

game don't load scripts until it get full, unactive scripts are dump every x ms

you only have a stack dump, if you reach max before x ms

and if that's put in your log, that's for you to give conditions to the ones that were load for nothing (useless waste of performance you are supposed to do something about)

 

it's like that red triangle when you are missing a nif (if that wasn't there, how do you know you are missing a furniture, tree or whatever?)

and it's the same for what they call brow head bug

game could load the npc tintmask on the generated head from femalehead.nif, it do it when you make those heads in crap kit

15-30 sec to generate a head, 0.2-0.5 sec to load a head nif, it won't do it in game, for you to do something about the game not being able to load the head nif

 

Posted
9 hours ago, GenioMaestro said:

Again, you can imagine what the ExpandSystemMemoryX64 parameter does based only on what YOU think it does. But ... Have you verified it?
Do you think the enbhost process only starts when you activate ExpandSystemMemoryX64?
Do you think that enbhost only consumes memory when you activate ExpandSystemMemoryX64?

 

Open enblocal.ini and put UsePatchSpeedhackWithoutGraphics=true and ExpandSystemMemoryX64=false

Launch the game and you will see the enbhost process. Read several savegames and see how enbhost consumes memory. If you get CTD try starting a NEW GAME.
Again, you are totally confused and the parameter ExpandSystemMemoryX64 not make any of the things that you say and for that every good guide recomend disable it.

Omg, I meant I disabled all memory management from enb, because it would be simply incomatible with OS memory management feature, it is not logically implied for you? ReduceSystemMemoryUsage is responsible to enbhost process and they work together with ExpandSystemMemoryX64, the last one redueces fragmentation what also gives additional memory and allocation speed, this is why I recommend it. And both options was disabled. Actually, I tried all possible setups, os allocations should work good if memory is enough, but not in case with 4k textures. 

9 hours ago, GenioMaestro said:

Because i made the necessary test for discover it understanding the information in the web pages and the results of the test in the correct way and not in the way i want.

Hmm, and what test did you do? How did you launch it? What findings did you make? What variety of circumstances did you change to confirm your findings? Why didn't you publish it?

9 hours ago, GenioMaestro said:

Of course, any dll and any program CAN make anything that they want. But what motive have? Why that dll can need access to the render thread? The description say very clear what make the dll and using comon sense i only can think: Is imposible that have any relation and the FPS problems must be caused by other motive.

You thinks. And this is exactly what I'm talking about, you make statements on guesses and try to confront real facts.

Why it affects fps? I don't know, and I'm not even interested in this. If you're so curious feel free to make reverse engeneering of this dll or try to ask sources. 

9 hours ago, GenioMaestro said:

Have you checked the recommendations in your guide with more people?
How many people have a stable game using your parameters?

Actually yes. These params I shared with my friend that provided me the 4k texture pack with lods and experineced CTDs. Now he's completely stable. We have similar GPU and both use W10, but I don't think it affects. And another man from the forum told me PM that he's trying the options, so far no complains. And I'm sure several more ppl already tested it too.

9 hours ago, GenioMaestro said:

Many parameters that you recommend are totally contrary to the parameters recommended in any other guide that has been very well verified by hundreds and hundreds of users and those guides have shown that it is the best parameter setting for the game.

And exactly this is why I published the guide. Those guides didn't help me to cure CTDs and play the game with 2019 graphic view how I like it, with mods I like. Many of them outdated, many has recommendations like to set 8GB for iMaxAllocatedMemoryBytes and other flaws. And I bet you didn't read the disclamer I left in the very top of the thread, yes?

9 hours ago, GenioMaestro said:

Probably, you should forget everything you know, clear your head of all the erroneous concepts, throw away your current configuration and start a new configuration following a good guide. Maybe you learn something in the process.

And you have to leave the thread. Everything you brought here is the long dispute about one damn param that doesn't have real impact on the game. Make your own guide with your tests, your suggestions and params that you recommend, rather than telling others what to do. And there, I'll test your recommendations on my 4k Skyrim and publish the results. 

Your any further messages with no objectiveness in the thread I'll regard as flood.

Posted
2 hours ago, mrsrt said:

Omg, I meant I disabled all memory management from enb, because it would be simply incomatible with OS memory management feature, it is not logically implied for you? ReduceSystemMemoryUsage is responsible to enbhost process and they work together with ExpandSystemMemoryX64, the last one redueces fragmentation what also gives additional memory and allocation speed, this is why I recommend it. And both options was disabled. Actually, I tried all possible setups, os allocations should work good if memory is enough, but not in case with 4k textures. 

Again, you are making bad test because ReduceSystemMemoryUsage must be enable ALWAYS whitout excuses specially if you have the preset active. Maybe if you put UsePatchSpeedhackWithoutGraphics=true can work but only maybe.

 

Aditionally, if you change yours parameters in enblocal.ini and enable OsAlocators you must configure additional parameters in Skyrim.ini and skyrimpref.ini because all parameter must match.

 

Seems that you want yours 4k textures but maybe the problems can be in the textures. Have you try disable it?? Have you test others texture packs??

 

And finally, you are changing parameters totally unnecesary like bPreemptivelyUnloadCells and nobody know what more incorrect changes has you made.

 

Your game works by a miracle. If you need put that configuration for play with 4k textures explain how people play with 8k textures ussing the step guide and similar. 

 

You are making a big error and you not want see it. You are going to give problems to others players and time say it. I can make no more.

Posted
10 minutes ago, GenioMaestro said:

Again, you are making bad test because ReduceSystemMemoryUsage must be enable ALWAYS whitout excuses specially if you have the preset active.

10 minutes ago, GenioMaestro said:

Aditionally, if you change yours parameters in enblocal.ini and enable OsAlocators you must configure additional parameters in Skyrim.ini and skyrimpref.ini because all parameter must match.

3 hours ago, mrsrt said:

Actually, I tried all possible setups

Also, explain me please, how do you suppose os allocations be used if you delegate the memory management to the enb expander? 

 

10 minutes ago, GenioMaestro said:

Maybe if you put UsePatchSpeedhackWithoutGraphics=true can work but only maybe.

This patch disables all graphic processings by enb, I don't want to play 2011 Skyrim. 

 

10 minutes ago, GenioMaestro said:

Seems that you want yours 4k textures but maybe the problems can be in the textures. Have you try disable it?? Have you test others texture packs??

Yes, but on another builds. This pack pretty well tested by many players, it's absolutely stable, don't worry. Furthermore, crashfixes has exception handler for broken meshes. 

 

10 minutes ago, GenioMaestro said:

And finally, you are changing parameters totally unnecesary like bPreemptivelyUnloadCells and nobody know what more incorrect changes has you made.

Who told you I use these params? I mentioned them to you in a specific case.

 

10 minutes ago, GenioMaestro said:

Your game works by a miracle. If you need put that configuration for play with 4k textures explain how people play with 8k textures ussing the step guide and similar. 

If somebody replaced a texture for a flower with 8k resolution, it doesn't make his Skyrim 8k. I don't think nowadays on whole Nexus we can collect 8k texture pack for everything from terrain to butterflys. If someone really made it I'd like to see it, especially ram&vram consumption. 

 

10 minutes ago, GenioMaestro said:

You are making a big error and you not want see it.

My game is completely stable now with exactly these mods and params I published, no matter what mods I play and how long my game session, unless I change something. I actually don't even understand your care of this question. If you think to help me with CTDs, you cannot cure that doesn't exist. However, as I said, you can always write your way to make the game stable, I'm already very curious what will happen if I test it. 

 

10 minutes ago, GenioMaestro said:

You are going to give problems to others players and time say it. I can make no more.

I see you didn't read the disclaimer again? Let me help you:

Quote

 i decided to write this guide how I made my skyrim work with 4k textures, 10k+ fnis anims, HQ landscape lods, more than 200 installed mods (about 50 real high-weighted) and 144 fps almost perfectly.

Quote

You should also understand that we highly likely have different hardware, drivers, OS version and other important things. And some tricks written below may behave differently compared to me.

 

Posted
21 hours ago, mrsrt said:

If somebody replaced a texture for a flower with 8k resolution, it doesn't make his Skyrim 8k. I don't think nowadays on whole Nexus we can collect 8k texture pack for everything from terrain to butterflys. If someone really made it I'd like to see it, especially ram&vram consumption. 

 

you think he bother taking a look at skyrim textures?

textures packs replace about 200-600 .dds

 

in my textures .bsa there's i have 19 547 .dds

in that i have 260 4k textures, draugr with draugr_n, so that's only 130 meshes with a 4k texture (landscape, bodies, a few town textures)

2984 2k textures, that's 1492 armors, furnitures, water, blood.....

the rest is 1k or lower, most of the textures

 

there's 5988 43 kb tintmasks, npc without warpaints (what's the point to have a 4k, or 8k texture for head, if that's to load a 256*256 warpaint on that)

Posted

Why is SafetyLoad not mentioned? ( https://www.nexusmods.com/skyrim/mods/46465/ ) I can directly observe more CTD's if not having it.

 

Also i'll mention this setting from Skyrimprefs.ini under Display should be:

iTexMipMapSkip = 0

 

People who copy their presets from High quality or STEP guide with extreme eye to detail don't have this problem, but if you used Low or Medium as a base or just changed the based on gut feeling, then you may have set that higher than 0. What it causes in some cases is really glitched looking textures, propably when modders generate DDS textures without mipmaps, but i can't be too sure. Game could be using these textures in game view but not always visible to you, and theoretically a "missing texture" or "undefined texture" issue could cause instability too. Honestly i have never had my Skyrim as stable before as it is now. I can play with various DD mods for hours and exit game gracefully.

 

Also about Alt-Tabbing, yes it has always been a huge issue with fullscreen games. Therefore the solution for Skyrim too is to make it use maximized/borderless windowed mode. There are minor issues with cursor being invisible until i manage to click taskbar or other window but i can live with that... I don't remember ever crashing from alt-tab after going windowed.

Posted
On 9/3/2019 at 3:47 PM, Zaflis said:

Why is SafetyLoad not mentioned? ( https://www.nexusmods.com/skyrim/mods/46465/ ) I can directly observe more CTD's if not having it.

Yes, I forgot and was planning to include it in the next update, thanks for notify.

 

On 9/3/2019 at 3:47 PM, Zaflis said:

Also i'll mention this setting from Skyrimprefs.ini under Display should be:

iTexMipMapSkip = 0

 

People who copy their presets from High quality or STEP guide with extreme eye to detail don't have this problem, but if you used Low or Medium as a base or just changed the based on gut feeling, then you may have set that higher than 0. What it causes in some cases is really glitched looking textures, propably when modders generate DDS textures without mipmaps, but i can't be too sure. Game could be using these textures in game view but not always visible to you, and theoretically a "missing texture" or "undefined texture" issue could cause instability too. Honestly i have never had my Skyrim as stable before as it is now. I can play with various DD mods for hours and exit game gracefully.

Actually, mipmap levels completely dependent on textures and graphic mods you use. Some mods may require mipmap off, some recommends opposite. There's no universal solution for everyone.

 

On 9/3/2019 at 3:47 PM, Zaflis said:

Also about Alt-Tabbing, yes it has always been a huge issue with fullscreen games. Therefore the solution for Skyrim too is to make it use maximized/borderless windowed mode. There are minor issues with cursor being invisible until i manage to click taskbar or other window but i can live with that... I don't remember ever crashing from alt-tab after going windowed.

Yes, I have tested this way too. Don't remember why, but I returned back to fullscreen, I think it was fps related. Also, new Windows versions from time to time make ram defrag and swapping with unfocused programs, what may break access by pointers which in order may break some stuff or lead to CTD. So, it's still recommend to not alt-tab in any case. Actually, usually it safe, I'd say chance for problems about 5%, I do alt-tab quite often, the main rule is to make a save before it, coz the chance for ctd still exists.

Posted
3 hours ago, mrsrt said:

Actually, mipmap levels completely dependent on textures and graphic mods you use. Some mods may require mipmap off, some recommends opposite. There's no universal solution for everyone.

At least it does affect Devious Devices and it's one mod many here are using. I don't think that setting is specifically a on/off toggle, just reducing its levels a bit. But apparently even that can cause problems.

Posted
1 hour ago, Zaflis said:

At least it does affect Devious Devices and it's one mod many here are using. I don't think that setting is specifically a on/off toggle, just reducing its levels a bit. But apparently even that can cause problems.

Ok, I'll mention it in the future update

Posted
On 9/3/2019 at 2:47 PM, Zaflis said:

 

 

Also i'll mention this setting from Skyrimprefs.ini under Display should be:

iTexMipMapSkip = 0

 

People who copy their presets from High quality or STEP guide with extreme eye to detail don't have this problem, but if you used Low or Medium as a base or just changed the based on gut feeling, then you may have set that higher than 0. What it causes in some cases is really glitched looking textures, propably when modders generate DDS textures without mipmaps, but i can't be too sure. Game could be using these textures in game view but not always visible to you, and theoretically a "missing texture" or "undefined texture" issue could cause instability too. Honestly i have never had my Skyrim as stable before as it is now. I can play with various DD mods for hours and exit game gracefully.

 

oh, more bullshit from "experts" that didn't even bother checking what they are talking about is doing?

even if what it do is also on crap kit site.... and step too probably

 

coc whiterunexterior04, stable near you is at full resolution for now, probably 2k

move back, 2k is replaced by 1k, then 512*512, then 256*256, then lod when you get far enought

because of that mipmaps make the .dds 33% bigger, that's to reduce your vram usage

 

mipmapskip =2, you get the 512*512 instead of the 2k when you are near, then 256*256 moving back, and that's it until it's replaced by the lod

 

that setting should never be in those stupid ini tweaks, for "experts" that have no idea what they are doing, to not put bullshit there

it's for consoles, to not have to resize down textures because the console don't have enought vram (and if it don't have enought ram, no choice but to resize down)

if you have purple with a 4k texture pack, you don't skip the 4k to load the 2k mipmap1, skipping the 256*256 tintmask to load the 128*128, and the same on everything, you just go with a 2k texture pack

 

ps : missing texture it's a purple meshe, you don't ctd because of that

ps2: crappy texture isn't a ctd either, if it's 1500*1500, game resize it to 1024*1024 when it load it in the ram, if there's no mipmaps, game generate them, you just get a freeze if the gpu have to wait to that to be done to get its texture to render whatever

Posted
33 minutes ago, yatol said:

oh, more bullshit from "experts" that didn't even bother checking what they are talking about is doing?

even if what it do is also on crap kit site.... and step too probably

Oh of course i'm bullshitting now. Some of us actually do experiments with different ini settings, and no, Bethesda's engine is not perfect. It does sometimes do things you don't think is consistent or logical.

 

If you want more proof, check these topics to start with:

https://www.loverslab.com/topic/120879-the-mysterious-breeding-rooms/page/3/?tab=comments#comment-2624916

 

https://www.loverslab.com/topic/21484-devious-devices-integration-43-2019-08-23/page/454/?tab=comments#comment-2729078

 

And if you think that's about running low on video memory, i have 6GB dedicated VRAM + more than half of 16GB DDR4 given to Skyrim.

 

It was 1 comment in the first link "Set your texture quality to high in the launcher." that led me do research on what in the high settings is that important.

 

Edit: Also as a programmer i'm familiar with random bit sequences, and when textures do that i get a dejavu. It's reading memory in areas that are not intended, therefore it's not far fetched to call it a memory leak. And so i call it potential stability issue.

Posted
1 hour ago, Zaflis said:

Oh of course i'm bullshitting now. Some of us actually do experiments with different ini settings

 

 

on step you have a screen of that setting at x, another screen of that setting at y, and another screen of that setting at z...

since reloading the game messing randomly with that, most won't see the difference... (since they don't know what they have to check)

 

1 hour ago, Zaflis said:

And if you think that's about running low on video memory, i have 6GB dedicated VRAM + more than half of 16GB DDR4 given to Skyrim.

 

 

and did you bother checking your ram and vram usage with skyrim performance monitor, or something else?

the blabla about sse release, had no use for that 64 bits .exe to play with a whiterun that need 6gb of ram, and 4 gb of vram

and i don't ram ctd if i load the game with firefox, blender, nifskope, paint... and i didn't follow any stupid "tweaks" to have purple meshes instead of a ctd (because of that i don't ram ctd^^), only messing around i did was the lod distance, giving less ms to papyrus since most scripts are 1-3 lines, wasting fps for better shadows... (but with a screen before after, with the fps, to choose if it's worth it)

 

Posted
51 minutes ago, yatol said:

 

All i know is that bug should be 100% reproducible with DD 4.3 extreme gags, or the tentacave mod by setting just the iTexMipMapSkip to 1. It's not random occurence but always. Different graphics cards could act different ways. I use nVidia GTX 1060, but who knows some cards might just insta crash instead of showing random pixels.

Posted
On 9/3/2019 at 2:47 PM, Zaflis said:

Why is SafetyLoad not mentioned? ( https://www.nexusmods.com/skyrim/mods/46465/ ) I can directly observe more CTD's if not having it.

12 hours ago, mrsrt said:

Yes, I forgot and was planning to include it in the next update, thanks for notify.

 

Please, read a bit. Safety Load is totally unnecesary from years ago. Read the words writen by Arthmoor in 2015. I am completely sure that he knows how the game and the utilities works much better than all of us together.

https://www.reddit.com/r/skyrimmods/comments/3lharl/is_safety_load_needed_in_2015_skyrim_modding/

 

On 9/3/2019 at 2:47 PM, Zaflis said:

Also i'll mention this setting from Skyrimprefs.ini under Display should be:

iTexMipMapSkip = 0

You only can have problems caused by that parameter if you make incorrect manually changes to yours INI files.

Aditionally, a bad configuration in that parameter only can cause weird textures when the DDS files not have MipMap and that never can cause CTD.

Posted
2 hours ago, Zaflis said:

Different graphics cards could act different ways.

you expect different cpu to not ctd when you equip a tbbp armor without tbbp skeleton?

 

if mipmapskip is a problem for the textures that don't have mipmap (skyrim.exe doesn't generate the missing mipmaps? don't know i have run dds in texture optimiser, and smco), after removing the stupid ini edit, why not run texture optimiser on that crap to fix the problem?

 

 

Posted
21 hours ago, GenioMaestro said:

Please, read a bit. Safety Load is totally unnecesary from years ago. Read the words writen by Arthmoor in 2015. I am completely sure that he knows how the game and the utilities works much better than all of us together.

https://www.reddit.com/r/skyrimmods/comments/3lharl/is_safety_load_needed_in_2015_skyrim_modding/

Safety load doesn't just fix a memory allocation, but also fixes a deadlock on loading. Its memory management is obsolete, but the loading fix is not. It is also redundant if you use the os alloc by crash fixes, but this guide focused on a different memory management where the deadlock exists, this is why it should be included. And yes, i have tested this, infinte loading happens without safety load. 

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...