Jump to content

Public Service Announcement: Enhanced Blood Textures CTDs


Recommended Posts

It isn't EBT being a bad mod per say, rather script load. I have no way of accurately measuring script load. Convenient Horse's script lag MCM tool is only an indicator of overall script load. Hence anything i say should be anecdotal, however....

 

Its fairly obvious that EBT could have a heavy script load. As far as I know EBT scripts fire in combat usually. Say im running Civil War Overhaul, or Immersive Patrols, OBIS, SIC, and the Populated Skyrim series. I have seen and taken part in battles of 40 to 50 NPCs. On ugrids 7, in exteriors. There is going to be a lot of EBT script activity with bleeds and dying, same with Footprints due to movement.

 

High script load = instability. I found i would CTD on death to load in these situations. Additionally, Pap logs would show mass EBT and Footprints spam (relative to previous levels) before CTD. The EBT and Footprints papyrus log errors were false positives and benign, but they are a good indication of increase script load.

 

Just getting rid of Footprints made these CTDs less frequent. Again, Footprints is a perfectly fine mod. As is EBT.

 

Nevertheless, for the stability of my game, i will cut them, no matter how good they are, especially now that we have effective tools for script removal. If the stability issue is script load then something must go. Its individual to each users mod setup. 

 

By the way, "injecting nearby actors" isn't a problem. The problem is scripts not properly cleaning up after themselves. I don't know how the above mods work, but I designed Master of Disguise to only dynamically attach scripts to valid NPCs when the player is near them (i.e., when the player needs them) and then to dynamically detach those scripts when the player is too far away, when the player is not in the same cell, or when the NPC detaches from the cell (i.e., when the player doesn't need them.) 

 

Injecting can be a problem IMO, as i stated above. If you have a extremely script heavy scenario, then even injecting and detaching will cause instability, just due to sheer numbers. 

Edited by MadWizard25
  • +1 1
Link to comment
Share on other sites

MadWizard25, on 29 Apr 2014 - 1:12 PM, said:

It isn't EBT being a bad mod per say, rather script load. I have no way of accurately measuring script load. Convenient Horse's script lag MCM tool is only an indicator of overall script load. Hence anything i say should be anecdotal, however....

 

Its fairly obvious that EBT could have a heavy script load. As far as I know EBT scripts fire in combat usually. Say im running Civil War Overhaul, or Immersive Patrols, OBIS, SIC, and the Populated Skyrim series. I have seen and taken part in battles of 40 to 50 NPCs. On ugrids 7, in exteriors. There is going to be a lot of EBT script activity with bleeds and dying, same with Footprints due to movement.

 

High script load = instability. I found i would CTD on death to load in these situations. Additionally, Pap logs would show mass EBT and Footprints spam (relative to previous levels) before CTD. The EBT and Footprints papyrus log errors were false positives and benign, but they are a good indication of increase script load.

 

Just getting rid of Footprints made these CTDs less frequent. Again, Footprints is a perfectly fine mod. As is EBT.

 

Nevertheless, for the stability of my game, i will cut them, no matter how good they are, especially now that we have effective tools for script removal. If the stability issue is script load then something must go. Its individual to each users mod setup. 

 

 

Injecting can be a problem IMO, as i stated above. If you have a extremely script heavy scenario, then even injecting and detaching will cause instability, just due to sheer numbers. 

This.

 

That's one reason why everyone often has a different experience with scripted mods, it's not that they are broken or even poorly designed...it all comes down to the old Papyrus and how it handles what gets thrown at it.

 

The straw breaking the camel's back is a very relevant mental image to illustrate the situation.

 

It is for these reasons I don't use (many) mods that fire scripts off constantly or in such broad ranged applications...like CWO and Footprints. EBT with its scripting is happening during some already very busy script heavy combat; it seems like a risky endeavor.

 

I just tend to be conservative with script usage, I think it pays off in long-term stability and trouble-shooting script interaction issues is nigh impossible for those who don't understand the scripts in question...from various mods.

Edited by Kuldebar
Link to comment
Share on other sites

Additionally, Pap logs would show mass EBT and Footprints spam (relative to previous levels) before CTD. The EBT and Footprints papyrus log errors were false positives and benign...

There's no such thing as a benign error... 

Injecting can be a problem IMO, as i stated above. If you have a extremely script heavy scenario, then even injecting and detaching will cause instability, just due to sheer numbers.

 

Again, mods that dynamically attach scripts should only attach scripts when the player needs them and detach them when the player no longer needs them. EBT doesn't need to be active on 40 NPCs in a 40-NPC battle. Nevermind that 20 NPCs in combat simultaneously is the max allowed by the vanilla settings, EBT just needs to do enough to give the player the illusion of what EBT aims to achieve.

 

Do you remember the Thieves Den in Oblivion? When you'd command your thieves to go out and steal stuff, they'd run to the door, vanish, and in time, they'd be back at Dunbarrow Cove with a haul waiting for you. They weren't actually out in the Oblivion worldspace. They'd disappear at the door, giving you the illusion that they left, but in fact, they were disabled. They weren't actually stealing stuff from other NPCs and their homes; that loot was just being added to a chest on a timer.

 

As a modder, if you wanted to make that experience more immersive, you'd place markers around the worldspace where, when the player was nearby, you could spawn one of your crew and make them pretend to be stealing stuff so that your thieves seemed to be out in the world. When the player left, you'd disable that thief.

 

The art of illusion is very important in game development. It's essential in Skyrim.

 

You don't need "sheer numbers" for illusion. You just need smoke and mirrors. Mods that weren't built with that in mind are going to cause problems.

Edited by fireundubh
Link to comment
Share on other sites

In general then mods that add a script on top of other scripts are also going to be an issue. 

The general issue with combat related mods is the same now that it was about 2 years ago... there is simply too much going on. When every action in combat triggers like 50 scripts.. then obviously something is going to fail eventually as the number of NPC´s go up. 

 

Most of these nice features would have been nice to see hardcoded into the engine... stuff like foot prints is something that is rather trivial on most modern engines for example. 

 

What would be nice would be a mod that would be able to selectively add effects to NPC´s... for example there is no need for full combat execution on an NPC that is in a different cell from you. It should simply be a "calculate hit chance, and do some dmg if hits" There should not be anything else like staggering, etc. etc. since this is all redundant when an action is not taking place near you.

Link to comment
Share on other sites

What would be nice would be a mod that would be able to selectively add effects to NPC´s... for example there is no need for full combat execution on an NPC that is in a different cell from you. It should simply be a "calculate hit chance, and do some dmg if hits" There should not be anything else like staggering, etc. etc. since this is all redundant when an action is not taking place near you.

That's pretty simple to do. The size of a cell is 4096x4096 units. You can use NPC.GetDistance(Player) to get the distance from the NPC to the Player. You can also use NPC.GetHeadingAngle(Player) to get the NPC's direction toward the Player because, generally, you want to limit what the script is doing to only what the Player can see. So, you can limit what a script does like so: 

If NPC.GetDistance(Player) < 4096.0	If NPC.GetHeadingAngle(Player) >= -90.0 && NPC.GetHeadingAngle <= 90.0		; script operations here	EndIfEndIf

Since the height of a humanoid NPC is 128 units, limiting the distance between the NPC and Player to half of the cell length is better, especially since at 4096 units, you can't really see anything. A smart math person could probably figure out how large a humanoid NPC looks at various distances.

 

You can also adjust that distance dynamically depending on whatever factors you think are important (e.g., number of NPCs) to limit resource consumption.

Link to comment
Share on other sites

There's no such thing as a benign error... 

Again, mods that dynamically attach scripts should only attach scripts when the player needs them and detach them when the player no longer needs them. EBT doesn't need to be active on 40 NPCs in a 40-NPC battle. Nevermind that 20 NPCs in combat simultaneously is the max allowed by the vanilla settings, EBT just needs to do enough to give the player the illusion of what EBT aims to achieve.

Sorry, i made a semantic mistake. I do not get errors, I get warnings. Lots of warnings in combat situations. I was confounding errors with warnings, which is not a smart thing to do.

 

Furthermore, I run Max AI and Max Combat AI tweaks when building a bashed patch in WB. Currently its set at 100 and 80 respectively. So yeah, i think EBT might apply to a lot more NPCs in this case than the vanilla 20. Again I can only perceive this, I have no way of accurately measuring. However, I can see large battles with 40+ NPCs, and EBT effects seem to apply. That plus warning spam before CTD, as well as the fact the you said there are injections and detachments going on, is a pretty good observational qualitative assessment of EBT becoming performance intensive in these situations.

 

Its not too far fetched, with my mod setup and AI tweaks, that there is increased script load in these situations. Bundle that with ugrids 7...

 

Admittedly, I am an outlier in the mod setup. I know this does not apply to other necessarily.

Edited by MadWizard25
Link to comment
Share on other sites

  • 2 weeks later...

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
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, Privacy Policy, and Terms of Use.