CPU Performance Patch (Up to 30% faster physics, up to 60% more FPS)

Other CPU Performance Patch (Up to 30% faster physics, up to 60% more FPS)

I'm missing morphs when using the latest patch.

Can we please revisit this issue that occurred on a previous version but was resolved in a newer version? This time the work around of reloading morphs as a interim fix isn't working. Thank you @turtlebackgoofy :)
 
@turtlebackgoofy
When you get a chance, can you give setting examples for a Ryzen 9 7950x (Not 3D) for desktop and VR.
With this last patch, with essentially the default settings and following the visual guide, on many scenes I am seeing an increase in the 20-40% range. But, maybe it can be even better.

Thanks for you help and amazing patch!
Seconded! Been experimenting all day today.
 
ya im on v1.22.03
That's the current Vam version. But I think you may not be running the latest version of the patch being talked about here. An earlier version had the bug you describe, but it's been fixed. I'd suggest you re-download and install it again.
 
He's aware of issues with morphs not loading correctly. He's stated is fixed in version 12, but admins haven't allowed that build to be posted publicly yet. Just a tip, it's a good idea to browse through a thread to see if anyone has mentioned your issue before making a post.
I haven't installed any patches yet, but just playing around for a few months, I noticed occasional gaping mouths and limbs loading at creepy lengths - normally happens after extended use (an hour of playing around with different scenes). Closing, then opening VAM again seems to correct this. As far as the occasional gaping mouth - turning off advanced physics seems to solve this with some looks as well. Only happens to some and it depends on their current pose. I think it can be due to some morphs not jiving with specific looks (I'm new to VAM and just tinkering around). Also, sometimes, specific mouth-gaping morphs are triggered and I don't know why. I just track them down, set to default, then save them as a favortie so I can quickly turn them off when they are triggered again. Also, bad add-on settings that affect lip-sync can cause horrifying issues (especially in VR). Even changing character names can cause issues with some scenes. I could go on, but I'm still having fun playing around. It's like a giant puzzle that someone keeps kicking over every time I think I've figured something out, but the pieces start to make a little more sense each time I try to put it back together.
 
This brings more FPS but also has disadvantages. Vam now tends to crash. Certain things that have been worked out in a scene are only applied after the game is restarted and not immediately. I've experienced the crashes more often now and have brought Mate back to its previous state and haven't had any crashes since then. Anyone who works on scenes and doesn't save every few times will be annoyed if the progress was in vain.
Here are my computer specifications

Motherboard Asus AMD Tuf Gaming B650M Plus Wifi AM5

CPU AMD Ryzen 7 7800X3D

Ram DDR 5 Corsair 5200 MHZ

Graphics cardAsus Tuf RTX 4090

Symbol „Von der Community überprüft“
 
Last edited:
I'm using following settings for i5-10400f + 3060ti:

SkinMeshPartDLL.ini:



boot.config:


VAM (Desktop Mode).bat:

added after -vrmode -nolog -nostereorendering

I have no fps gain but this gives me best loading times. Not sure if some of those switches actually works - founded on internet.
Used together with var browser and caching on ssd.

If only textures wouldn't need caching it would a pleasure to use VAM...
"
gfx-disable-mt-rendering=0
gc-max-time-slice=3
job-worker-count=12"

Hmm, where did @kretos get the extra settings quoted here? And particularly, have you noticed any additional gains on using these?


Latest beta has been stable for me, so no change there.
 
I have an AMD Ryzen 5 3600X 6-Core Processor
This is what I have for my SkinMeshPartDLL.ini for Patched 13 Beta 1.

Is this correct?

INI:
[threads]
computeColliders=5
skinmeshPart=5
skinmeshPartMaxPerChar=5
applyMorphs=5
applyMorphMaxPerChar=5
affinity=1,3,5,7,9,11
engineAffinity=3


[threadsVR]
computeColliders=5
skinmeshPart=5
skinmeshPartMaxPerChar=5
applyMorphs=5
applyMorphMaxPerChar=5
affinity=1,3,5,7,9,11
engineAffinity=3


[profiler]
enabled=0


1708961237179.png
 
I have an AMD Ryzen 5 3600X 6-Core Processor
This is what I have for my SkinMeshPartDLL.ini for Patched 13 Beta 1.

Is this correct?

INI:
[threads]
computeColliders=5
skinmeshPart=5
skinmeshPartMaxPerChar=5
applyMorphs=5
applyMorphMaxPerChar=5
affinity=1,3,5,7,9,11
engineAffinity=3


[threadsVR]
computeColliders=5
skinmeshPart=5
skinmeshPartMaxPerChar=5
applyMorphs=5
applyMorphMaxPerChar=5
affinity=1,3,5,7,9,11
engineAffinity=3


[profiler]
enabled=0


View attachment 339442
wow, you only have 3 cores per CCD?
you should do

INI:
[threads]
computeColliders=3
skinmeshPart=3
skinmeshPartMaxPerChar=3
applyMorphs=3
applyMorphMaxPerChar=3
affinity=1,3,5


[threadsVR]
computeColliders=3
skinmeshPart=3
skinmeshPartMaxPerChar=3
applyMorphs=3
applyMorphMaxPerChar=3
affinity=1,3,5


[profiler]
enabled=0

with only 3 cores per CCD engineAffinity is not worth it.
 
wow, you only have 3 cores per CCD?
Just wanna point out that CCX (core complex) is not the same as CCD (core complex die).
There is extra latency with 2 CCDs, but also there is extra latency between CCXs inside CCD (case with Zen, Zen+ and Zen2 cpus).
Reason why cheaper Ryzen 3 3300X with 4 cores and single CCX was outperforming 6 core ryzen cpus with dual CCXs, in some cases.

As for Ryzen 3600(X) with single CCD (3+3 core/2 CCXs), there were also versions with 2 physical CCDs (likely salvaged ryzen 3900s).

Good thing is that Zen3 based Ryzen 5000 series don't use 4 core complex (CCX) design with 16 MB (8 MB on Zen/Zen+) L3 cache per CCX (total 16+16 MB per CCD). Instead it uses unified 8 cores configuration with 32MB L3 cache per CCD.
Meaning no more CCX latency bs. Same with current Zen4 based 7000 series.

PS.
Gratz on all the work you have put in so far with this patch.
I have been following this project for a while now, but didn't test it, unfortunately my main client is v1.20.77.13.
Once I get some freetime I gonna test it on 2nd client with 5800X3D, to see how it would perform (even though I am gpu bound). ;)
 
wow, you only have 3 cores per CCD?
you should do

INI:
[threads]
computeColliders=3
skinmeshPart=3
skinmeshPartMaxPerChar=3
applyMorphs=3
applyMorphMaxPerChar=3
affinity=1,3,5


[threadsVR]
computeColliders=3
skinmeshPart=3
skinmeshPartMaxPerChar=3
applyMorphs=3
applyMorphMaxPerChar=3
affinity=1,3,5


[profiler]
enabled=0

with only 3 cores per CCD engineAffinity is not worth it.

I have 1 CCD with 6 cores, 12 threads.
there are 2 CCX with 3 cores each.



1708982588308.png

1708982511894.png
 
Hi great plugin,
but I run into a problem where I cant save plugin preset after using the patch. Like i click on the store preset button and it is unresponisive
 
Hmm, where did @kretos get the extra settings quoted here
From steam discussions about unity based games

gc-max-time-slice=3 higher numbers can cause stutter on garbage collector, 3 is tradeoff
job-worker-count= should be set to maximum number of threads
single-instance=1 doesn't really optimize anything, it just won't start new instance but switch to existing
 
I just want to report a strange bug that happened to me after 1h of play with v12. Hairs were automatically unloading. I thought it was scene specific, but it was happening in any new scene I was loading. I could see hair load and unload quickly. I could manually uncheck and recheck the hair and see it for a fraction of second, then disappear. Strangely, a few hairstyles were not affected by this. The hair was affected but the scalp was still remaining.

It only happened once and could be caused by something else, but since it is the first time I have seen that, I am reporting it.
 
I just tested the new patch and holy shyte!
Now my custom scenes with many scripts got smooth as fuck too!
I wanted to try an intel system but thats just plain waste now from an 5800x3d.
 
@turtlebackgoofy
When you get a chance, can you give setting examples for a Ryzen 9 7950x (Not 3D) for desktop and VR.
With this last patch, with essentially the default settings and following the visual guide, on many scenes I am seeing an increase in the 20-40% range. But, maybe it can be even better.

Thanks for you help and amazing patch!
Does anyone happen to have a Ryzen 9 7950X and can share there settings for both desktop and VR? Thanks!
 
I have a pretty old machine.

CPU: i7-7800X
GPU: Asus GeForce GTX 980

Would I be able to use this? If so, what settings would be recommended?
I don't know if you ever got an answer, but I have similar machine and dug around in here piecing together what I could. I tried a few settings and they all made an improvement, but these made the best for me. By the way, I like your work and have a few of your girls!

[threads]
computeColliders=4
skinmeshPart=4
skinmeshPartMaxPerChar=2
applyMorphs=4
applyMorphMaxPerChar=6
#affinity=1,2,3,4,5,6,7,8,
affinity=1,2,3,4,5,6,7,8
engineAffinity=1,2,3

[threadsVR]
computeColliders=4
skinmeshPart=4
skinmeshPartMaxPerChar=2
applyMorphs=4
applyMorphMaxPerChar=6
#affinity=1,2,3,4,5,6,7,8,
affinity=1,2,3,4,5,6,7,8
engineAffinity=1,2,3
[profiler]
enabled=0
 
I don't know if you ever got an answer, but I have similar machine and dug around in here piecing together what I could. I tried a few settings and they all made an improvement, but these made the best for me. By the way, I like your work and have a few of your girls!

[threads]
computeColliders=4
skinmeshPart=4
skinmeshPartMaxPerChar=2
applyMorphs=4
applyMorphMaxPerChar=6
#affinity=1,2,3,4,5,6,7,8,
affinity=1,2,3,4,5,6,7,8
engineAffinity=1,2,3

[threadsVR]
computeColliders=4
skinmeshPart=4
skinmeshPartMaxPerChar=2
applyMorphs=4
applyMorphMaxPerChar=6
#affinity=1,2,3,4,5,6,7,8,
affinity=1,2,3,4,5,6,7,8
engineAffinity=1,2,3
[profiler]
enabled=0
Thanks, I'll try those settings! Glad to hear you like my models too, thanks a lot!
 
To any AMD users here (AMD CPU, that is), I'm just curious about something specific.

So in Ryzen Master, when monitoring the CPU activity, temps, speeds etc... I noticed that my Cores all seem to hover around the 2.5 to maybe 3.5Ghz mark. Now, obviously, it varies a lot, there's very low minimums; but - in particular - the maximums seem to be... very conservative to say the least. I say this because Ryzen Master reports that my CPU's maximum clock should be 5.6Ghz (side note that's for a 7900X3D, and that's boost speed, I know). However, I barely ever see 4Ghz.

In fact, there's a gauge called "Peak Speed" (next to the Temperature gauge) and it's easy to see which Cores reached what exact maximum during my VAM sessions (the highest maximum is then reported in that Peak Speed gauge). And, so far, after testing multiple sessions (with the patch of course) I am seeing that the reported Peak Speed is never higher than 4.2Ghz. Now of course I know that not all applications would necessarily be able to push the CPU enough to end up with the 5.6Ghz limitation of the chip but it seems to me that VAM isn't pushing the CPU as much as I'd expect it to. Or maybe I'm thinking wrong here. I'm just curious, more than anything else.

I'd like to see other AMD CPU users here tell what is Ryzen Master reporting for the following stats when they're in a VAM session (be it Desktop mode or VR):

1) Reported Peak Speed (Vs which actual AMD CPU model you have)
2) From your observations, what seems to be the average 'Lows' and the average 'Highs' on individual Cores being used by VAM.

For me, 'Peak Speed' is about 4Ghz.
And my average 'Lows' is about 900 Mhz (yes, Mhz), and average 'Highs' seems to stick around the 3.3Ghz range (it does vary though).
 
To any AMD users here (AMD CPU, that is), I'm just curious about something specific.

So in Ryzen Master, when monitoring the CPU activity, temps, speeds etc... I noticed that my Cores all seem to hover around the 2.5 to maybe 3.5Ghz mark. Now, obviously, it varies a lot, there's very low minimums; but - in particular - the maximums seem to be... very conservative to say the least. I say this because Ryzen Master reports that my CPU's maximum clock should be 5.6Ghz (side note that's for a 7900X3D, and that's boost speed, I know). However, I barely ever see 4Ghz.

In fact, there's a gauge called "Peak Speed" (next to the Temperature gauge) and it's easy to see which Cores reached what exact maximum during my VAM sessions (the highest maximum is then reported in that Peak Speed gauge). And, so far, after testing multiple sessions (with the patch of course) I am seeing that the reported Peak Speed is never higher than 4.2Ghz. Now of course I know that not all applications would necessarily be able to push the CPU enough to end up with the 5.6Ghz limitation of the chip but it seems to me that VAM isn't pushing the CPU as much as I'd expect it to. Or maybe I'm thinking wrong here. I'm just curious, more than anything else.

I'd like to see other AMD CPU users here tell what is Ryzen Master reporting for the following stats when they're in a VAM session (be it Desktop mode or VR):

1) Reported Peak Speed (Vs which actual AMD CPU model you have)
2) From your observations, what seems to be the average 'Lows' and the average 'Highs' on individual Cores being used by VAM.

For me, 'Peak Speed' is about 4Ghz.
And my average 'Lows' is about 900 Mhz (yes, Mhz), and average 'Highs' seems to stick around the 3.3Ghz range (it does vary though).
I had some amd cpus in recent gens and used vam with a 5600X earlier and a 5800X3D now. Altough I am nowhere as skilled compared to dev or some users here, I may give somw hints for you.
So starting with the zen era amd using a special self overclocking mechanism called precision boost. It did have lots of iteration with each gen, but the foundation remain the same. It takes certain parameters if actual usage and tries to get the most out if your chip. Parameters like temperature, power consumption and actual load. Some of them can be modified for a certain degree through bios or ryzen master. If you are interested there are tons of guides out there.
To narrow down somehow your problem my experience was that it is best if you find and set maximum variables. Set tdp/edc/ppt well so your chip wont start throttle under heavy load (helps keep temps lower). Set curve optimizer so the cpu will boost higher with the given voltage, depending on chip you may apply some negative offset too. I would say there is some optional +200 Mhz usually but with previous undervolts that may mess it up.
Bur the most important is to test it out if really works. Thing is that with amd there is also a phenomenon called “clock stretching”. It means that you effective clocks fall significantly lower. It happens with too much undervolt. So try to find the optimal max values for power, and uv while it can keep your effective clock without falling down more than 100-150 Mhz.

Not boosting higher can mean it does not have to or it cannot. Test it with the baseline3 benchmark with the least gpu limited setting. My 5800x3d eats like 90+ watts max and goes to 4450 Mhz only on couple cores in that benchmark. In custom scenes with vsync it usually stays 5-60 watts and around 3500 Mhz.

Hope it helps a little
 
I had some amd cpus in recent gens and used vam with a 5600X earlier and a 5800X3D now. Altough I am nowhere as skilled compared to dev or some users here, I may give somw hints for you.
So starting with the zen era amd using a special self overclocking mechanism called precision boost. It did have lots of iteration with each gen, but the foundation remain the same. It takes certain parameters if actual usage and tries to get the most out if your chip. Parameters like temperature, power consumption and actual load. Some of them can be modified for a certain degree through bios or ryzen master. If you are interested there are tons of guides out there.
To narrow down somehow your problem my experience was that it is best if you find and set maximum variables. Set tdp/edc/ppt well so your chip wont start throttle under heavy load (helps keep temps lower). Set curve optimizer so the cpu will boost higher with the given voltage, depending on chip you may apply some negative offset too. I would say there is some optional +200 Mhz usually but with previous undervolts that may mess it up.
Bur the most important is to test it out if really works. Thing is that with amd there is also a phenomenon called “clock stretching”. It means that you effective clocks fall significantly lower. It happens with too much undervolt. So try to find the optimal max values for power, and uv while it can keep your effective clock without falling down more than 100-150 Mhz.

Not boosting higher can mean it does not have to or it cannot. Test it with the baseline3 benchmark with the least gpu limited setting. My 5800x3d eats like 90+ watts max and goes to 4450 Mhz only on couple cores in that benchmark. In custom scenes with vsync it usually stays 5-60 watts and around 3500 Mhz.

Hope it helps a little
also dont forget that some AMD CPU units are just not good. There is a guaranteed clock your AMD CPU will reach, but everything in PBO is just optional performance you MIGHT get. Sometimes you are just unlucky with your CPU.
 
1709143547907.png


1709144468192.png

Hi i have RTx 4080 and i9 10900f 128gb Ram... but my performance not improve....do you have any advice... gpu at 40% boooh!
 
Last edited:
unsure if its been posted but ive been getting a "too many heap sections" crash with the new update using naturalis. V12 didnt have this issue
 
Back
Top Bottom