Jump to content

SMP-Performance


Recommended Posts

Posted

Hey, 

 

SMP is great but I have noticed that it is a huge fps drain for me, at least some SMP based mods are. For instance I can run 3BBB SMP physics without any problem, I can enable it on multiple followers and I can't even tell whether the FPS are lower. Worst case I loose one FPS. However, clothing or hair hits like a truck, one SMP armor drains anywhere from 6 to 15 fps. The Team TAL's 9204 DR Alicia for instance is on the smaller end of the spectrum, I loose about 6 fps on average here although I use it without the scarf so only the physics of the body armor apply. Now my question is whether SMP on armor is simply more demanding and therefore the higher FPS loss in comparison to multiple 3BBB SMP enabled NPCS is normal or whether there is potentially a problem I should look into. 

 

Thanks in advance! 

Posted

I'm far from an expert, but it makes sense to me. 3BBB doesn't actually apply SMP physics to the entire body:

Spoiler

434730516_Screenshot(30).png.bc3ee23b5b25a028d1f04a16afe24d62.png

And aside from the breasts, the movements are generally pretty subtle.

Hair, on the other hand, moves all the heck over the place every time you take a step, and it has to flow as well. and potentially even slide over your shoulder from the front to the back and things like that. The range of motion it has to figure out is pretty insane I would think.

That dress isn't too much different. Not only does it have to calculate all the things your body is normally doing, but also has to make the skirt and belt swish and swing back and forth. It may not seem like much, but the movements have a much wider range than a body does, but still just as if not more fluid, which takes a lot of calculations. Tbh though I might just be talking out of my ass. I can mess with hardware all day but software makes my brain hurt.

 

Edit: I now realize that this is in Technical Support and I gave you no solid answer or solution, just a rant that popped into my head. My bad.

Posted

SMP appears to me (former control engineer) to be an open-loop control paradigm. That is, it has high response associated with an open-loop control system, but it also has some inherent instabilities often associated with open-loop paradigms, perhaps due to an over-aggressive, inbuilt AGC (for instance, for magnifying positional error) or some other algorithmic thing that results in error residuals slowly accumulating and amplifying over time (perhaps a coded integrator that's not properly resetting periodically).

 

I've had FPS loss from the player having SMP enabled to followers with SMP enabled to clothing or armor. In the grossest *visible* situations, breasts flop around like they have a bat tethered to the nipples, or a piece of armor or clothing does similar things, or something (hair, a bit of clothing or armor) gets stuck to a physical location. But it can also result in a rapid collapse of FPS and subsequent CTD with few of the normal symptoms. (and btw, while wearing armor or clothing, a failure in the body SMP can cause the clothing to go wonky due to the body mesh/clothing mesh interaction...maybe due to collision issues, but idk really).

 

TBH, For me anyway, bodies are as likely or more likely than clothing/armor to act up. And until the SMP algorithms are optimized and clamps or thresholds are proeprly established to automatically kill the chaotic response without direct user intervention, I don't think that's going to change. There's something in the SMP math that's not being addressed correctly to avoid catastrophic instability. I have no idea what it is specifically, since I don't have my hands on the raw code to evaluate and debug it, but it "smells" distinctly like open loop instabilities I've seen in more substantive control loops in the past for both professional and academic work, be they in algorithms or in hardware designs.

 

So what I'm saying (as gently as possible) is "that's tough. deal with it". If you start to see an fps drop and suspect an SMP overload, and even if there are no gross symptoms, but you are wearing some SMP clothing or armor. unequip then re-equip it to reset the item's SMP. If your body goes unstable, switch to CBPC  mode and back again (not possible during *some* animations for whatever reason, although afterwards the reset can be performed). 

 

I've also read on multiple occasions that one can issue an "smp reset" from console to reset SMP globally, but tbh, when I try run the command in my game, All I get fro console in return is a big "Huh? WTF? Sorry Hal, I can't do that!" (figuratively, I can't recall the actual response offhand) so I'm not sure where these folk are getting the SMP reset command from. In any case, you might try that too, if you're so inclined. perhaps it'll work for you. (the un-equip/re-equip definitely works for items like clothing, armor, and wigs, and the switching from SMO to CBPC mode and back does it for the body without question (again within limits, while in an active animation, that switch may not take on the body, until  the animation cycle has ended, for whatever reasons) 

 

good luck 

 

- edited for typos and content

Posted
13 hours ago, Blub2500 said:

Now my question is whether SMP on armor is simply more demanding and therefore the higher FPS loss in comparison to multiple 3BBB SMP enabled NPCS

SMP is physics and collisions. Physics calculation tax on CPU is low unless very complex constraint groups are chained together. Collisions solving on the other hand requires a lot of CPU resources.

 

Please someone correct me if I am wrong, I am no longer on SE but I think 3BBB SMP (full) uses SMP without collisions and those can be toggled if required (for both PC and NPCs, it basically equips collision armor on toggle). As said earlier physics do not cost much and thats why you can have a lot of NPCs running around unless you enable collisions. 

*EDIT: sry 3BBB uses CBPC for base physics, not SMP. 

Even if you enable collisions via 3BBB toggle it might not be as bad as there are usualy very few collisions occuring during regular NPC animations.

 

The outfits and hair are very different, there are basically unavoidable constant collisions occuring between meshes and proxy objects. This is where skilled mod author can make a huge difference. Using triangle-vertex col type when possible, using low poly proxy objects, tweaking collisions using no-collide-with-bone and weight-thresholds tags, tweaking restraints to avoid collisions etc.

Even with high level of tweaks the collision solving will tax your CPU noticeably.

Archived

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

  • Recently Browsing   0 members

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