Benchmark Result Discussion

By the way, does someone know if a look, created with a lot of mophs from different var files,
will still look as intended, if I turn the morph-preload off?
Can a scene or preset load those morphs anyways,
or are they completely switched off and/or invisible?
I think I have to try this out tomorrow for some hours. :oops:
 
Yeah, U can load a look with 100% correct morphs applied, while they have preload switched off.

The question is... can plugin access to disabled morphs too?
It would be nice to have disabled essential expression packs, and just let plugins use them in the scene.
So things to check:
- if the plugin can use 'disabled' morphs when u load a scene [probably should work]
- 2nd scenario, adding plugin which uses custom morphs to existing scene, will it be able to 'turn them on'?
Okay just checked it's not that big amount of them. Basic AshAuryn and Tenstrip expressions are less than 500 morphs. But thats something, right?
I'm at 8800 female morphs atm in my main install and it's a beefy one. But it's also hightly personalized \ optimalized, including vars cleaning by hand, so i barely have any dupes.
 
as cleaning dupes looks likesuicide mission... I will vanillize ALL and play just vam-x :geek: (kidding mode ON)
 
By the way, does someone know if a look, created with a lot of mophs from different var files,
will still look as intended, if I turn the morph-preload off?
Can a scene or preset load those morphs anyways,
or are they completely switched off and/or invisible?
I think I have to try this out tomorrow for some hours. :oops:
is it VAM-package manager a ready for task container list in wich we can select pre-loaded morphs or (mission impossible) we should explore each var with wordpad one by one?? (for this second option I will borrow the full Santa Klaus tactic team). If only meshed was not abandoning vam1xx.. this situation could be still a priority. But that's like it is :-(((
 
Ok, so to summarize:
  • Morphs that are not preloaded should still work normally in scenes that use them. If they aren't used in a scene, they don't show up in the UI, so you can't start using them.
  • I still need to do investigate what control a plugin could have over whether a morph is preloaded or not. Might be that there is some brick wall I don't know about, yet. Actually there are almost certainly bricks wall, question whether I can find a way around 🤣
  • Plan would be to hammer out a quick and dirty proof-of-concept prototype plugin, may take a few days or the weekend. Once you guys can try that and confirm it works and doesn't make any trouble with existing scenes, I could see about making it a proper plugin.
 
I would like to sign up for this as a free crash test dummy! ;)

I still have a LOT of the morphs imstalled locally in Custom/atom/person/morphs.
Especially my millions of FaceGen, DAZ and custom made morphs.
If there is a noticeable performance difference between locally installed morphs and var-package morphs with switched off pre-load, I have to convert them.
I am very exited about the results.
 
Huston, we have a problem:

Vanilla (only Benchmark dependencies):
Benchmark-20220111-112947.png


Old and stuffed trash heap absolutely unoptimized with 10335 morphs:
Benchmark-20220111-114450.png


Maybe only known difference: I still have the mayority of morphs locally in my "Custom" folder, and I have "only" 900 Var files installed.

By the way, no difference in 4k VR, too, which is my main concern. Because of the SteamVR automatical reprojection, I always have around 60 FPS at 120Hz in this benchmark. :(
(No CPU bottleneck in 4k VR)
 
Huston, we have a problem:

Vanilla (only Benchmark dependencies):
View attachment 87986

Old and stuffed trash heap absolutely unoptimized with 10335 morphs:
View attachment 87987

Maybe only known difference: I still have the mayority of morphs locally in my "Custom" folder, and I have "only" 900 Var files installed.

By the way, no difference in 4k VR, too, which is my main concern. Because of the SteamVR automatical reprojection, I always have around 60 FPS at 120Hz in this benchmark. :(
(No CPU bottleneck in 4k VR)
Interesting results. Did you check vga ppt during bench? I think factory setup holds it back very much. I would have expected your config nearing 150 in fhd. Could choke even more in higher rez. Of course if temps are priority dont bother with it. I run mine under custom water loop, hence it has no object against raising.
 
So I ran a couple more experiments:
1.On my 'clean' vanilla VAM installation, I used a junction folder link to point to my 'full fat' AddonPackages folder (i.e. all the VARs (~2350) that I have in my everyday usage install) and I also copied AddonPackagesUserPrefs contents (to replicate morph pre-load settings) and re-ran the benchmark. I got an average benchmark of 178fps.
2. I then went through every Morph VAR package manually and disabled morph pre-loading. I then got an average benchmark of 186fps.

This compares to my 193fps result with a completely clean/fresh VAM install and 175fps with my everyday use VAM install (18fps variance).

Possible Conclusions:
a) Morph pre-loading in VARs appears to account for much of the variance (~8 of 18fps)
b) Additional factors relating to VARs is contributing a significant amount (~7 of 18fps)
c) Other factors beyond VARs are contributing a small amount to the variance (~3 of 18fps)
 
Interesting results. Did you check vga ppt during bench? I think factory setup holds it back very much. I would have expected your config nearing 150 in fhd. Could choke even more in higher rez. Of course if temps are priority dont bother with it. I run mine under custom water loop, hence it has no object against raising.

Hi,
what do you mean with VGA ppt?
I am running a custom water cooling loop, too. No issues with temperature, neighter CPU nor GPU (<70C).
I have slightly OC the CPU, and the GPU (orig. AMD) is running on highest possible factory settings, that are doable with only the standard driver. My 5800x is clocking up to > 4700MHz, my 6900xt is on 2500 MHz, VRAM on +140 MHz... I have a 19000 score in Timespy and 650/6500 in CPU-z. Good 850W power supply.
I guess the bottleneck is the CPU at that small desktop resolution. Usually I do only VR with ~4k, where the GPU is reaching its limit.
But if you have an other suspicion, you are highly welcome. It is my first all- AMD build.

Edit: or maybe it is my 7 years old Windows installation... lol
 
Last edited:
And here they come again... lurking doubts about my system configuration... :eek:
This benchmark thread is not good for my poor old heart 💔
 
Might it be that it's related to to having opened a bunch of other scenes before running the benchmark? Maybe all the morphs these scenes used stay active until you restart VaM?
(Or well, maybe its not morphs at all...it was just a theory)
 
Might it be that it's related to to having opened a bunch of other scenes before running the benchmark? Maybe all the morphs these scenes used stay active until you restart VaM?
(Or well, maybe its not morphs at all...it was just a theory)
Who were you directing that at?
 
With my results vs the results of JayJayWon, we now need a volunteer, who will test this out:
Thesis: Will (many) morphs in .Var files reduce fps, but morphs in the /custom/atom/person/morphs folder don't?
 
I was also resetting that list of auto loading from my morphs package manager list (needing some minutes, not such a lot of as I was fearing, without noticing difference in performance) but I don't see a realistic solution for that morphs' clones pandemy infesting vars. My whole vam folder is still less than 200GB: not so heavy indeed, but my intention is to clean away all those abandoned var files I never play. Without any logic category in that (relative) mess it will be PITA.
ps: saving lot of skin textures, maps, environments assets, clothes presets with absurd detail heavy some hundred MB per file, should be too not so igienic for the argument topic.
 
Last edited:
Who were you directing that at?
Your results vs. @TToby 's results. For TToby there is no or not much difference in FPS, but there is appearently a huge difference for you @JayJayWon, also some other people. So my theory is that it depends on whether you did run various other scenes before running the benchmark. Can't test it myself, at least not easily, because I don't have a cluttered VaM folder like you guys apparently have...and also lack of time at the moment. 🤣
 
Your results vs. @TToby 's results. For TToby there is no or not much difference in FPS, but there is appearently a huge difference for you @JayJayWon, also some other people. So my theory is that it depends on whether you did run various other scenes before running the benchmark. Can't test it myself, at least not easily, because I don't have a cluttered VaM folder like you guys apparently have...and also lack of time at the moment. 🤣
Oh I see. I had not appreciated the significance of @TToby 's results.

So I definitely wasn't running other scenes before my benchmarks. Clean VAM starts for each one.

Here's another theory. Presumably each benchmark is ultimately bottlenecked by a system constraint - either CPU or GPU. If VARs and/or Morphs are having a performance impact - its likely to be on either CPU or GPU (but not both). So if my benchmarks are being constrained by the same system constraint as the Morph/VAR impact, but @TToby 's are constrained by the other, then that might account for the discrepancy?

Another strange phenomenon I see is the difference between Benchamark3 and Simpler Physics. Is Simpler Physics just Benchmark 3 with reduced Physics settings? If so, I would expect Simpler Physics to always have a better result than Benchmark3? However in some results I see Benchmark3 giving higher results than Simpler Physics - you can see it in both mine and TTobys results. Is that expected?
 
Here's another theory. Presumably each benchmark is ultimately bottlenecked by a system constraint - either CPU or GPU. (...) then that might account for the discrepancy
Hm, right. Could be.

Another strange phenomenon I see is the difference between Benchamark3 and Simpler Physics. Is Simpler Physics just Benchmark 3 with reduced Physics settings? If so, I would expect Simpler Physics to always have a better result than Benchmark3? However in some results I see Benchmark3 giving higher results than Simpler Physics - you can see it in both mine and TTobys results. Is that expected?
Simpler Physics is identical to Baseline 3, except that "Advanced Colliders" and "Soft Body Physics" are turned off for each of the 3 characters. From the results I have looked at, on high-end machines the average FPS can be a bit lower. However, the important thing is that minimum FPS goes up. So you get a more stable frame rate. With the benchmark physics updates are set to 60Hz, so its all about how those distribute over the graphics frames. Do you have some graphics frames where the CPU needs to do 2 (or even more) physics updates to keep up? If that is the case you likely have not update at all in the following frame, driving the average up a lot, but you don't really gain from it.
 
@JayJayWon That may be the case. My PC is build for 4k VR. Whereas in VR the GPU is mostly the bottleneck, there is most likely a CPU bottleneck for me with the the low desktop resolution.
You are having by far the most breathtakingly high VaM benchmark 3 results, and I guess, the CPU makes the difference. At the same time this makes it IMHO more strange, that you have this high fps impact on Var-morphs: I would have expected to see an overall higher fps impact on the side of my poor CPU.
BUT don't forget the different prerequisites: I have more than two times less Var files installed than you, and in my very old VaM installation, the biggest part of my 10335 mophs are still locally installed and not coming from Var.

If I can get it to work, I plan to do a test today: I want to create Var packages from my thousands of local morphs, and than move those Vars over to my vanilla VaM testing installation. If this will show a difference, then my thesis from above would maybe be the explanation (var-morphs vs unpacked morphs).
 
OK, I've did it.
I created 21 Var files with alltogether 645MB pure morph files!
I moved them over to my vanilla VaM installation (same m.2 drive), and ran the benchmark.
Naturally I did a restart and a new benchmark before and after.

Result: NO DIFFERENCE!
 
So I spend my whole free morning with testing, you now have to find your way through the data. No mercy ;-)

I have to partially withdraw my results!
There IS an effect, which will be obviously visible the more FPS you have!

Thesis
: Morphs in VAR files may have a higher effect on FPS as locally unpacked morphs at the custom-folder.
This thesis was build upon the fact that previous benchmarks doesn't show a difference in fps between my fresh VaM installation and my absolutely cluttered VaM, Whereas for JayJayWon and others there was a huge fps drop with having a lot of Var files, getting better by disabling the Var file morph preload.
This thesis could NOT be confirmed.

What I did: I created 21 Var files with alltogether 645MB (~5000) morphs and moved them over to my vanilla (fresh) VaM installation. Then I did several benchmarks with different settings.

Discussion:
As you may see, there is a little effect on maximum and minimum fps for the first two benchmarks. It is very low and barely not visible at the avarage FPS.
This made me think about the high fps rate of JayJayWon and I wondered if this effect could be more visible at higher FPS.

To get more FPS I cheated a bit and lowered the tesselation settings in the AMD GPU driver.
VaM uses tesselation for proceduraly generating hair, and I know this is a big fps killer from former testing.
-The normal setting should be around 16X tesselation. There was only a little effect for using "AMD optimized", wich gave me an average of 1 fps LESS.
-8X tesselation gives you approx half the hair and a good fps boost. It is barely visible on hair, and I think this could be a good compromise.
-4X tesselation gives you approx a fourth of the hair and a huge fps boost. It is highly visible on hair (but still somewhat bareable).

Resumee: The thesis couldn't be verified, but we can see an effect the more FPS we have.
I don't know what Var-morphes could have an effect on GPU usage (I thought it would be rather CPU related), because I understand tesselation as an GPU function. Therefore I don't understand why lowering the load on the GPU could show this effect.
Maybe freeing up GPU performance made the CPU bottleneck of my PC more visible?

Benchmarks:

Benchmark-20220113-092129.png

Benchmark-20220113-093741.png

Benchmark-20220113-101035.png

Benchmark-20220113-095629.png

Benchmark-20220113-111938.png

Benchmark-20220113-113430.png


EDIT:
If you have carefully compared the testing results you may have allready realized - there was one benchmark missing:
The benchmark of my completely cluttered trash heap of old VaM installation which has originally started the discussion, BUT with tesselation lowered to 8x.
This has to be compared with the two "tesselation 8x" benchmarks above, done on my vanilla installation. And now there it is- a difference!

Benchmark-20220113-124512.png

EDIT2: (back to vanilla)

Benchmark-20220113-134816.png

Benchmark-20220113-142244.png

Conclusion: Thesis was not confirmed (most likely)!
There definitely IS a difference for me, but only at hig fps (low resolution).
This lead me to the idea, that it maybe has to do with a CPU bottleneck. The more you lowering the load from the GPU, the more the CPU bottleneck will be visible.

Side results from testing:
-Running benchmarks several hours has increased the temperature in my VR room almost plus 10°C. VaM is not climate friendly!
-Running a single benchmark lasts exactly as long as loading the dishwasher. No excuse next time!
 
Last edited:
There definitely IS a difference for me, but only at hig fps (low resolution).
This lead me to the idea, that it maybe has to do with a CPU bottleneck. The more you lowering the load from the GPU, the more the CPU bottleneck will be visible.
I think this really is the reason. My comparison I already posted in here (without the benchmark) was CPU bottlenecked as well. But this can be proofed way more easy: just create a scene with one person and no movement and compare. Maybe check if you are really in a GPU bottleneck. Pretty simple.
 
@TToby Ijust skimmed over your results, but your CPU bottleneck theory would align with @JayJayWon, who theorized the same. Internally VaM maintains two lists of morphs: A list called "morphs" as well as a second list called "unactivatedMorphs". From my searches through the VaM codebase, I could not find a mechanism that ever moves no longer active morphs back into "unactivatedMorphs", they stay there forever, even if the morph is reset to zero. Unless you restart VaM. I might be missing something, but I think this makes VaM go through all those morphs every frame, even when they aren't actually used.

So, as mentioned a few days ago, I started working on a plugin that tries to move them back to the list when no longer needed. But it doesn't work yet, have not found the right strings yet to convince VaM of what I want ;)
 
I think this really is the reason. My comparison I already posted in here (without the benchmark) was CPU bottlenecked as well. But this can be proofed way more easy: just create a scene with one person and no movement and compare. Maybe check if you are really in a GPU bottleneck. Pretty simple.

We all know that VaM 1.x isn't well optimized.
Multiple light sources, high physics demanding hair, unoptimized clothes, multiple persons... this all drags down my performance a lot. For little things like those Vars and morphs, lowering my fps for some points, I can see differences at least only with the high workload of the benchmark in low screen resolutions, not in everyday VR usage. I have definitely no CPU bottleneck in VR, that is all I personally need to know.
And using VaM without morphs is no option for me.
What worries me more are some ugly stomach hurting spikes and stutterings while using the menues.
But for some other users my results of 5h testing may be more interesting and maybe helpful. At least I hope so ;)

@MacGruber Maybe meshedVR can give you some hints? Would be great to optimize VaM with this.
Going through all and every morphs again and again seems so insanely needless.
 
Why does the time for Physics increase with higher resolutions? :unsure:
Isn't this just the same geometry calculations running on the CPU?
From what I understand how physics in games *should work*, these calculations are independent from the rendering resolution and should not take longer in 4K than in 1080p !?
Am I stupid?

GPU: stock 2x RTX 3090 FE & EK Quantum Vector FE Special Ed. Water Blocks & 2 large radiators
CPU: stock Ryzen 5 3600X 6 Core & decent air cooler (peak 74°C when video encoding)
RAM: stock 64 GB 3000 Mhz CL16 (2x16+2x16 GB, G.Skill SK Hynix F4-3000C16-16GISB, Corsair SK Hynix CMK32GX4M2B3200C16)
MOBO: cheap GigaByte X570 UD (bad BIOS, don't buy!)
MISC: good LG 4K IPS 31" monitor, I do not own VR equipment
PSU: AX Corsair 1600i
stock = no overclocks, just normal boost
All results from a clean VAM installation without loading anything else before.

Desktop 1920x1080:
Benchmark-20220126-130340.png

Desktop 3840x2160:
Benchmark-20220126-132415.png

No surprise, guess I'm CPU limited.
I'll try OC soon. The CPU needs to get it hard with a whip! 😈
But from what I know these chip are already running pretty close to the red line.


EDIT for overclock:
Tweaked, finetuned every last Mhz, Voltage, RAM timing, cleaned PC, etc.
Tried a 4.3 Ghz all core CPU OC by shoving additional 210mVolt into it (lowest stable Voltage).
The result was pathetic. The same avg. framerate in 1080p because you lose the single core boost on Ryzen.
Then I deep dived into Undervolting, "Precision Boost" and "Precision Boost Overdrive". Which is not the same same thing *doh*.
Enabling PBO and removing all its limitations in the BIOS resulted in +20 in CineBench R20 MultiCore. (3 run avg.)
Undervolted VCore -0.1Volt offset and the SoC with -0.05Volt offset. +50 in CB R20.
RAM is up from 3000 to 3333 Mhz CL16 1.38V. Same timings. 3400 does not boot, even with 1.50V
Due to the 3333 Mhz the CPUs internal 'Infinity Fabric' is up from 1500 to 1666 Mhz too.
The RTX 3090 was set to max powertarget, +1500 memory, +100 core, resulting in boosts up to 2.1 Ghz.
RTX 3090 GPU peaks at only 40°C and runs into powerlimit. CPU peaks at 67°C in CB R20 while all cores ~4.2Ghz. Limit unknown, PBO?
Desktop 1080p overclock result: +6,36% avg. FPS from 148,57 to 158,02
Benchmark-20220128-223011.png


My PC is build with focus on 3D Raytracing in professional 3D software.
Not cheap potato Raytracing in games.
The amount of VRAM is the primary limitation for professional 3D stuff.
If a scene does not fit into VRAM, it will be CPU rendered. To slow to be usable.
The two GPUs are not connected via a Bridge.
I don't need that for my 3D software.
It would just be a hassle to deal with the now dead SLI stuff.
Also, unlike the expensive Quadro cards, the RTX 3090 do not support memory pooling.
That's where you have effectively 48 GB VRAM from 2x 24 GB combined.

Obviously VAM uses only 1 GPU anyway.
My result are probably better than an air cooled card due to higher dynamic GPU boosts.
The custom waterloop really is insane overkill!
Even the backside VRAM on the cards have additional cooling.
I know my VRAM can run 24/7 stable with effective 11 Ghz (that's +1500 Mhz on memory) due to Ethereum mining.
An unmodified air cooled RTX 3090s usually peak around +1200 Mhz stable if lucky.

I want a better CPU+MOBO combo badly but can not afford it.
I'd probably go with Intel Alderlake right now.
Simply because AMD did disappoint me by only announcing a 5800X with 3D V-cache.
8 cores? :cautious: What a about 16 cores with V-cache? -.- *ugh*
According to rumors they mainly use their cache chips for server CPUs. More profitable.
I wanted to see a 5950X with 3D V-cache versus a 12900K!

For the future I wonder if I could use the second GPU for physics only in VAM 2.x? hmm... :unsure:
 
Last edited:
Back
Top Bottom