Jump to content

Recommended Posts

I just read every.single.word all the experts are writing about this potentially life altering mod....but I don't understand a damn word of it.  Still the most riveting thing I've read in years though so thank you very much for your hard work!!

 

Serious question though, how do I know if I am getting this crash or not?  Is there a log somewhere in SKSE/plugins folder that I can see if I am getting the 0xBE6DD3 crash?  Sometimes I get a crash when my save game loads, but often I do not.  In the "CrashFixPluginLog.txt" file I see that I sometimes get an error that says "15 Nov 22:48:35 Game has crashed with exception address 0x59FAE2EC!"  But, those numbers and letters are often different from time to time.

Link to comment
9 hours ago, mrsrt said:

At the beginning I was thinking that it's a simple block overflow, coz exceptions point on access violation. During the research I found that it's a 16mb block that was placed together with others pretty similar blocks, they look like chunks allocated consistently. Their count was unpredicted, but avg pattern was like: more anims -> more blocks, what may mean that they will be allocated dynamically when needed. I successfully even increased their size to 32mb, but, ofc, it didn't help with the problem.

It looks more like block(s) for some data with raw access by offsets. As for the overflowing counter, this is the real reason of the CTD which should take attention. 

I also notice once again, this code has extensive execution not only while loading but also during frame processing, dependently on npc/creatures around up to several calls per one frame. 

Remember: the most urgent problem is the one which happens at game start. The Skyrim behaviors are collected in some way, and during the processing of this data (be it collection or release) the system CTDs. However, the size of this collection is NOT determined by the number of animations, it is determined by some functionality in the behaviors which is necessary to define these animations. And this size is VERY deterministic.

 

Therefore you can have 26162 simple "motiondriven" (poser like) animations before CTD occurs. But you can only have 8720 "animationdriven" ones. While animation files (or the behavior functions that make the animations play) require 1 unit of space, the use of an animation variable that makes the same motiondriven animation being played animationdriven, requires 2 units. Wtice as much as the animation file itself. And there are numerous other examples.

Link to comment

 

13 hours ago, GenioMaestro said:

I alrready answered the question: Because the file magicbehavior.hkx is not referenced inside 0_master.hkx

 

No, you didn't answer. You put out an assumption, and sell it as truth. Since almost a year, when we "discussed" these issues, you came up with countless assumption that have been proven untrue. In this case it is untrue, because for example the idlebehavior.hkx (which you quote yourself later) shows the exact opposit. idlebehavior.hkx is not referenced in 0_master. Bot the vanilla animations referred there, and the FNIS custom animation, are counting against the CTD limit.

 

13 hours ago, GenioMaestro said:

And that is my main point. I try explaing it in the most easy way.

Seems that the Preloader of the AA animations process each one of the HKX files referenced inside 0_master.hkx but not process the rest of the master HKX files of the game like mt_behavior.hkx

 

What do you talk about "AA" animations. Do you really mean "Alternate Animations". And what is a "the Preloader of the AA animations"? You make this sound like a part of the engine?

 

No need to explain to me. Alternate Animation is MY VERY OWN "invention". It denotes custom animations that are put together with their vanilla base animation into clipgenerator lists, so the user can chose between vanilla and one of the custom alternates, whenever the vanilla game would play the original one. For example a Sexy Move fs30_mt_walkforward.hkx instead of the vanilla  mt_walkforward.hkx

 

But the is no special pre-loader for AA. And for the AA the CTD limit counts the exactly same way as it counts for the vanilla base animations. And also the selector between base and custom AA counts, although it is no an animation. Remember: it is (was) a behavior imposed limit. Not an animation one.

 

13 hours ago, GenioMaestro said:

Seems that the CTD is caused because the internal array of AA animations is overloaded, because the function is bad developed, and the patch created by mrsrt exactly skip the section of code that cause the overload.

And seems that happend because not ALL the behaviors files need be referenced inside 0_master.hkx

 

I think that only SOME of the FNIS_xxx_Behavior files need be referenced inside 0_master.hkx, probably only the FNIS_xxx_Behavior that have AA animations need be included, but the rest of the the FNIS_xxx_Behavior can be referenced inside other master HKX file of the game like mt_behavior.hkx

 

Is the only posible explanation about WHY the animations included inside magicbehavior.hkx not consume any space. Because the file magicbehavior.hkx is included inside mt_behavior.hkx and not exist inside 0_master.hkx

 

I really start to get angry when I have to read all that crap. You are using some half knowledge based on my work. And sell it as your very own enlightments. And probably noone except myself understands how much nonsense you put out.

 

Where is your very own input to all of that? For example that "only SOME of the FNIS_xxx_Behavior files need be referenced inside 0_master.hkx"? Would be great to hear, because I tried and never managed to get FNIS behavior files being called from anywhere else but from 0_master.hkx.

 

Where was your input when I did invite you to the FNIS 7.5 Beta test? No time for reaL WORK. Just for smart talk.

 

Link to comment
26 minutes ago, fore said:

And probably noone except myself understands how much nonsense you put out.

no, i also know that he's completely out to lunch.

 

31 minutes ago, fore said:

Where was your input when I did invite you to the FNIS 7.5 Beta test?

speaking of....the creature pack still needs updating ( BehavioredObjects.txt & xxxBehavioredObjects.txt are still using "returnToDefault" for the frostbitespider when it should be "ReturnToDefault")

Link to comment
1 hour ago, fore said:

Remember: the most urgent problem is the one which happens at game start. The Skyrim behaviors are collected in some way, and during the processing of this data (be it collection or release) the system CTDs. However, the size of this collection is NOT determined by the number of animations, it is determined by some functionality in the behaviors which is necessary to define these animations. And this size is VERY deterministic.

 

Therefore you can have 26162 simple "motiondriven" (poser like) animations before CTD occurs. But you can only have 8720 "animationdriven" ones. While animation files (or the behavior functions that make the animations play) require 1 unit of space, the use of an animation variable that makes the same motiondriven animation being played animationdriven, requires 2 units. Wtice as much as the animation file itself. And there are numerous other examples.

Ofcourse. I understand this. With my tests and information I just want to provide as much info as possible related to the problem. As for now, the urgent problem with CTD on startup is probably fixed, but to find consequences we need to understand what this code exatly does. Many things still unclear in the puzzle:

- Why this code is executing during render?

- Why creatures do not increase any counter, but participate in the code?

- What the processing memory block stores?

and so on. 

Answers for these questions may help not just to understand the picture but also to create additional patches be it stability, speed, or something else. Any detail can help now or in future.

Link to comment
2 hours ago, tsnootch said:

Serious question though, how do I know if I am getting this crash or not?  Is there a log somewhere in SKSE/plugins folder that I can see if I am getting the 0xBE6DD3 crash?  Sometimes I get a crash when my save game loads, but often I do not.  In the "CrashFixPluginLog.txt" file I see that I sometimes get an error that says "15 Nov 22:48:35 Game has crashed with exception address 0x59FAE2EC!"  But, those numbers and letters are often different from time to time.

The crash the fix was created for happens always on game loading until you remove some animations. If your crashfix log doesn't contain 0xBE6DD3 code and you hadn't problems with gamesave loading or starting a new game, probably, you had never encountered the problem. If so, you can install the patch just for optimization purpose or for future, if you plan to install more anims.

Link to comment

Works fine so far. More stabl FPS when using HDT clothing on my end.

 

Only thing I noticed so far is that when my game freezes, audio is silent, usually without this mod the game will freeze, but audio will continue till the game resumes.

Also Before a CTD, my game will freeze for a few seconds and then CTD.

Link to comment

Been using this for a day and a half now. I did not install a crazy amount of animations but I do have an older computer and regularly get around 30 FPS. Installing this mod and doing nothing else I now get 40-60 FPS. I was having a hard time getting stable 30 FPS now 50 is pretty stable with exception to walking into high pop locations. This mod has blown my mind, Thank you.

Link to comment
On 12/14/2019 at 7:36 PM, btasqan said:

Only thing I noticed so far is that when my game freezes, audio is silent, usually without this mod the game will freeze, but audio will continue till the game resumes.

Also Before a CTD, my game will freeze for a few seconds and then CTD.

Normally, the game shouldn't freeze and/or CTD. If it happens, try to use the topic https://www.loverslab.com/topic/128438-2019-skyrim-le-stability-guide/ (info about SSME and os allocators a bit outdated, I'll update it next month).

On 12/14/2019 at 8:24 PM, razzor69 said:

also when you uninstall the mod and uncheck the mod in NMM, after you load your save game there's no more missing mod warning

It happens because of this mod https://www.nexusmods.com/skyrim/mods/78557/ 

If you need this warning you can use the newer version here https://www.nexusmods.com/skyrim/mods/85443/? but I found that it has affection on FPS. Also, you can use animation preloader here https://www.nexusmods.com/skyrim/mods/98204 but strictly only ver 1.0. Version 1.1 or higher is incomatible with the patch. 

Link to comment

First off - Congratulations and well done. Top job.

 

The main deal with the animation limit doesn't really affect me but what I am interested in is what other areas this mod might help with. This quote sums up what I'm getting at.

On 12/12/2019 at 3:03 AM, mrsrt said:

Answers for these questions may help not just to understand the picture but also to create additional patches be it stability, speed, or something else. Any detail can help now or in future.

There have already been a few posts from users claiming this mod does this or that, so is there any validity in these claims? Are you actively looking at any other areas where this mod might help?

Link to comment
3 hours ago, mrsrt said:

Normally, the game shouldn't freeze and/or CTD. If it happens, try to use the topic https://www.loverslab.com/topic/128438-2019-skyrim-le-stability-guide/ (info about SSME and os allocators a bit outdated, I'll update it next month).

It happens because of this mod https://www.nexusmods.com/skyrim/mods/78557/ 

If you need this warning you can use the newer version here https://www.nexusmods.com/skyrim/mods/85443/? but I found that it has affection on FPS. Also, you can use animation preloader here https://www.nexusmods.com/skyrim/mods/98204 but strictly only ver 1.0. Version 1.1 or higher is incomatible with the patch. 

Yeah i have the Load Game CTD fix, and had animation loading fix, but i prefer your animation limit crash fix version, its working like charm, ive never crashed again, at least stable for more than 2 hours gameplay, with nonstop SL animation playing gameplay xD
but anyway is that ok to keep the "Continue game no crash" in my Skyrim? or should i just uninstall it?

Link to comment
11 minutes ago, razzor69 said:

at least stable for more than 2 hours gameplay, with nonstop SL animation playing gameplay xD

If 2 hours playing without a CTD is an improvement then there is something fundamentally wrong with your game.

 

13 minutes ago, razzor69 said:

"Continue game no crash

This is the old version of

14 minutes ago, razzor69 said:

Load Game CTD fix

so you don't need it regardless of whether you use mrst's mod. Load Game CTD fix addresses ILS among other things so you should keep it for that.

Link to comment
4 hours ago, Grey Cloud said:

There have already been a few posts from users claiming this mod does this or that, so is there any validity in these claims?

Yes, as I already mentioned, it helps to increase loading speed (at least the initial one) and boosts up fps, especially in crowded areas. As for sound during freezes I don't think it has relation to the patch. Other impact not yet discovered. 

4 hours ago, Grey Cloud said:

Are you actively looking at any other areas where this mod might help?

It would be extremely hard to answer the question using only reverse engeneering, this is why the mod is still in beta and I'm still listening for feedback, and thank you for everybody who leaves it.

As for further research, I don't have enough time now to continue it and not even sure if it needs any other changes. It seems to behave very well with no negative impact and maybe it's already in the best shape to not damage anything. However, I do not exclude further updates and work continuation when I have more time.

 

2 hours ago, razzor69 said:

Yeah i have the Load Game CTD fix, and had animation loading fix, but i prefer your animation limit crash fix version, its working like charm, ive never crashed again, at least stable for more than 2 hours gameplay, with nonstop SL animation playing gameplay xD
but anyway is that ok to keep the "Continue game no crash" in my Skyrim? or should i just uninstall it?

It's redundant to have both Continue Game No Crash and Load Game CTD Fix together. Choose one. 

Link to comment

Incredible o.O ... You are the savior for every insane people who wanted to fix their fucking animation crash ! XD

 

Btw here is my FNIS logs:

ChAnims: 19608  CTD:126,4%  pOpt:20,5%  max: 15507  LC: 33081 (max. 26162)

 

And no more crash when loading a save with that ton shit of animations ! 

 

Talos blesses you XD 

Link to comment
1 hour ago, mrsrt said:

Yes, as I already mentioned, it helps to increase loading speed (at least the initial one) and boosts up fps, especially in crowded areas.

I only run about 7.5k animations with Nemesis and saw no improvements in neither fps nor loading times. Not sure about crashing as I didn't crash due to animations before with just this many animations (Havok is currently my main issue with crashes right now, I can't even save while having a HDT Cloaks of Skyrim item equipped without a random chance of a huge headache when loading such a save).

 

Took a look at the code and the actual work of this plugin is just 2 lines (one for defining the new instructions and another for writing said instructions into the memory address); From further examination of the old and new instruction set (and the decompiled code you've added as a comment), I don't believe there is an real improvement in performance, at least not from 7.5k animations and not with just one patched address.

 

Profiled CPU, GPU and RAM and their usage averaged the same with and without the plugin (walking around Whiterun and inside Whiterun's cell), which is unfortunate as an increase in performance was what I was interested in.

Link to comment
27 minutes ago, Hawk9969 said:

Not sure about crashing as I didn't crash due to animations before with just this many animations (Havok is currently my main issue with crashes right now, I can't even save while having a HDT Cloaks of Skyrim item equipped without a random chance of a huge headache when loading such a save).

I remember somewhere on Nexus or LL was a fix for HDT cloaks. If it happens not only with cloaks check carefuly that you use the latest dll and have correct *.xml presets for body. If you're exeprienced you can try to find the reason with disassembling. Usually, the problem is in incorrect/incompatible presets/meshes.

 

35 minutes ago, Hawk9969 said:

Took a look at the code and the actual work of this plugin is just 2 lines (one for defining the new instructions and another for writing said instructions into the memory address); From further examination of the old and new instruction set (and the decompiled code you've added as a comment), I don't believe there is an real improvement in performance, at least not from 7.5k animations and not with just one patched address.

If you're interested in technical details about how the patch works and impacts on ctd, loading speed and fps, please read carefully the topic, especially these posts:

https://www.loverslab.com/topic/134659-beta-le-animation-limit-crash-fix/?do=findComment&comment=2836278

https://www.loverslab.com/topic/134659-beta-le-animation-limit-crash-fix/?tab=comments#comment-2835691

https://www.loverslab.com/topic/134659-beta-le-animation-limit-crash-fix/?do=findComment&comment=2837737

 

TL;DR: the function works each frame or each few frames during render. Function complexity dependent on animation units. The function can be called several times per one frame dependent on NPCs around. Total complexity of the skipped part of code during render: AMOUNT_OF_NPCS_AROUND * ANIM_UNITS * LOOP_REPEAT_TIME

 

If you didn't see the difference, then, probably, your fps is capped, or you have an extremely heavy graphic preset under which the difference cannot be noticed. Don't expect something like "+20 fps and instant loadings for everyone", the impact completely depends on your hardware and game setup. If you really want to see difference, use some very lightweight enb preset (or enboost) together with uncapped fps and not the fastest CPU.

 

58 minutes ago, Hawk9969 said:

Profiled CPU, GPU and RAM and their usage averaged the same with and without the plugin (walking around Whiterun and inside Whiterun's cell), which is unfortunate as an increase in performance was what I was interested in.

You'll never see any difference with profiler in the render thread unless your fps is capped.

Link to comment
17 minutes ago, mrsrt said:

TL;DR: the function works each frame or each few frames during render. Function complexity dependent on animation units. The function can be called several times per one frame dependent on NPCs around. Total complexity of the skipped part of code during render: AMOUNT_OF_NPCS_AROUND * ANIM_UNITS * LOOP_REPEAT_TIME

Is this purely CPU bound? If so that would explain why I don't get any improvements over this as none of my individual cores are ever fully exhausted.

Link to comment
3 hours ago, Hawk9969 said:

Is this purely CPU bound?

Of course, CPU and RAM. This processing happens between actual frame renders by GPU, if your GPU is overloaded by graphic mods then in most cases you will not see any difference. In that case, if you're looking for fps boost you have to free GPU resources by using less complex graphic setup or to buy a more powerful GPU. 

As for majormagers the picture is opposite, it seems here's the CPU is the bottleneck of frame processing and freeing its resources boosts up his fps.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use