• Hi Guest!

    We are extremely excited to announce the release of our first Beta1.1 and the first release of our Public AddonKit!
    To participate in the Beta, a subscription to the Entertainer or Creator Tier is required. For access to the Public AddonKit you must be a Creator tier member. Once subscribed, download instructions can be found here.

    Click here for information and guides regarding the VaM2 beta. Join our Discord server for more announcements and community discussion about VaM2.
  • Hi Guest!

    VaM2 Resource Categories have now been added to the Hub! For information on posting VaM2 resources and details about VaM2 related changes to our Community Forums, please see our official announcement here.

Improving fine hair without MSAA x8?

kakashisex

Member
Joined
Nov 19, 2024
Messages
32
Reactions
2
Hi everyone,

I'm having an issue with my character's hair strands (in VR it's worse where there's even flickering). The only fix I've found so far is cranking MSAA up to x8 (in the screenshot below it's set to x2), but that tanks my FPS quite a lot: drops from 200 down to 150–160 (on PC).

Is there any other way to improve anti-aliasing without compromising performance this much? I've tried MacGruber's PostMagic, but it either didn’t help much, and when it did, the FPS hit was just as bad.

Maybe I’ve messed up another setting somewhere.

Has anyone experienced the same thing? and found a fix?

1744050905761.png


Thanks in advance!
 
150fps sounds totally ok, though?

In VaM you got two choices to improve hair:
  1. Use MSAA...ideally 8x
  2. Use the ResolutionScale slider, which only has an effect in VR. It means rendering in higher resolution and then downscale.
Most people probably combine both. Especially on older low-res VR headsets. But ResolutionScale is super expensive. A scale of 1.5 means 2,25x the number of pixels and memory usage. MSAA 8x also means every pixel is rendered 8 times, although due to caching effects its more like 2x the cost.

Anyway, what you can try is combining 2x or 4x MSAA with PostMagic's FXAA. But it won't look as good.

What you really want is DLAA, but VaM 1.x does not have that. In Desktop mode you could use Nvidia DLDSR, if you want, though. Enable in Nvidia driver settings, it will enable a virtual display resolution. Then run VaM with that virtual resolution in full screen mode. (Ok, I have not tried, but it should work) But, if you are already struggling with MSAA...probably forget DLDSR.
 
Thanks for your response! So it really does come down to just those two solutions (and perhaps a third for desktop). I’ve tried ResolutionScale too, but the FPS drop hits hard. I only play in VR, but since I kept noticing this fine hair flickering even after upgrading to a new rig (5080 + 9950X3D), I’ve been troubleshooting it on desktop. On my Quest 3, FPS can drop as low as 30 (I like mirrors too so it doesn't help), so I’ve been digging into every setting I can. MSAA x8 is one of the few that helps, but anything below that and the hair strands look pretty bad.
 
Mirrors tank performance hard. The entire scene has to be rendered again, so half performance. You can try reducing the resolution of the mirror. Too many VAR packages with morphs are a thing that affects performance massively as well. Try running with a second "clean" VaM install that has just the few packages you actually need for that scene.

You could also run the Benchmark scene to see what the performance impacts of the different things are exactly on your hardware.
(MSAA, hair-sim, mirrors, cloth-sim, multiple characters, ...)
Also allows you to compare with others who have similar hardware, maybe there is something wrong with the machine?
 
Last edited:
Benchmark-20250408-021737.png

Tried it with my OC settings (+400, +2000), but it crashed (though playing in VR is stable). So I ran it again on stock settings.
Does it look okay to you based on your experience? Or would you recommend doing a fresh install?
 
Does it look okay to you based on your experience? Or would you recommend doing a fresh install?
Try to find someone with similar hardware in the discussion thread. Make sure they used version 3, 4 or 5. Otherwise results are not comparable.
 
Adjust the hair width will help with this, you can use GiveMeFPS to do this for every scene you load. With those fine strands the only options are MSAA or make the strands thicker so they don't shimmer
 
Adjust the hair width will help with this, you can use GiveMeFPS to do this for every scene you load. With those fine strands the only options are MSAA or make the strands thicker so they don't shimmer
Increasing hair width makes it look awful, really, and doesnt even help with the shimmering unless I go cartoonishly thick. The only acceptable result for me as of now is 8xMSAA, and it works fine with VD's SSW for most scene. It's just the performance tradeoff that makes this MSAA so inefficient. I'm surprised no one from the VaM community ever brought up this issue. Is my hair poorly made? I doubt so since it's from great creators. Does everyone just accept the shimmering and flickering of fine elements this whole time? I feel like something is wrong with my settings or something for my fine elements to be so grainy on PC and therefore so shimmering/flickering in VR.

If anyone has any ideas to help me mitigate that without sacrificing quality, please feel free to share.
 
From what I've tried with Hairs (non-CUA, that is), the "best" results usually came down to (which is subjective, ultimately) a Per-Hair adjustments and combination of the three following options:

Curve Density
Hair Multiplier
Width
(in the 'Look' Tab of the Hair)

The problem (if there's one), is that I never could actually get 100% shimmering-free results by JUST changing one of those three at a time. I usually do have to change all three. And again, this is done on a Per-Hair item basis; because of course not all Hair creators in the community go about it the exact same way and/or end up using the exact same values by default. It's a long process of getting it right for each and every single Hair styles you want to use. There is no universal good-for-all setting.

Now, more specifics on each one of those options. I don't have the proper technical lexicon to explain this at a high level but I'll do my best:

1) Curve Density doesn't "widen" each hair strand, it increases their density. Mostly, what Curve Density does, is improving (increasing) the number of "curves" in each strands (I.E. increasing the number of Vertices on each strands to make them curve more smoothly, looking less and less "blocky" the higher the setting goes; think of this perhaps similarly to say... increasing the Mesh quality of a model in Blender; it adds Vertices / Polygons to reduce overall blockiness at the cost of more polygons to process).

So, if changed alone it will actually increase the shimmering. Because there's no "empty space" filled on the X Axis with this setting, if you then zoom out (especially if the character moves) it would simply increase the noise. Now, test this in any scene with any character, JUST change Density (set everything else to default), and zoom in the hair (especially visible if you're looking at say, the 'frontal' hair, where the base of each strands are "attached" on the forehead of the character). You should notice that Curve Density essentially makes its changes on the Y Axis (again, it basically just increases the vertices number on each strand, and that's about it). So, it doesn't "compensate" on other directions (nothing, or next to nothing on the X Axis, or Z Axis). The actual hair strands don't increase in number with Curve Density, nor are they displaced (nor is there any new extra strand of hair added, either). And finally, just on a side note, Curve Density past around a setting of 30 produces very diminishing returns (especially if used alone).

Finally, regarding this setting; this is the one that truly 'eats' GPU performance (it just adds vertices or 'curves', but that's exactly what GPUs cry about).

2) Hair Multiplier, on the other hand, makes changes to the hair mostly on the X Axis. And it does not increase the number of 'curves' of each strands (basically, it keeps the strands curves intact, untouched). So, on the character's head (again if you were to zoom in on a character's forehead too look at the actual hair strands as you make a single click on the slider you'd see it clearly), the hair strands will be changed by being both displaced and added (but without growing in actual size, in width; nor by being more "curvy", so Hair Multiplier does not outright "smooths out" the strands at all). So yeah, it... well, it multiplies the Hair (strands), it says what it does. But here's the thing, it does NOT make the hair strands grow. It can give that impression if maxed out, because it simply packs in more hair strands, but the actual individual strand size remains the same.

This setting, however, does not impact performance that much (of course, technically it does; but it's a lot more tempered when compared to Curve Density).

3) Ok now, the misunderstood Hair setting by excellence; ladies and gentleman... I present to you Mr. Width.

Alright so, Width does absolutely nothing else other than increasing just the size (in width) of each one of the Hair strands. So you'd think well... that... sucks? Right? Well. It would suck, if you JUST use that setting alone. Then again, JUST using Density sucks even more because it can turn a 5090 into a 2080; and just using Multiplier can change a pretty good looking hair style into a a Wig that only a Muppet would wear to make kids laugh. So just why would this setting matter? It matters when used as a 'final polishing' value to temper with AFTER you're done finding a "just middle ground" using BOTH the Density and Multiplier setting. More importantly, increasing the individual Hair strand's width would reduce the empty space between each strands; which would reduce the shimmering effect. Especially so at a distance (and even more so if the character / hair moves). The more empty space there is between each strand, the more you'd have the pixel 'Stair Case' effect dancing around within the hair style (again, specially at a distance; of course the more you'd zoom in the less of a problem it would become).

Shimmering / Noise

Alright so, the above is to basically explain that the actual Hair's overall "structure" has to be properly set, first. But then, yes, comes in the potential problem of the Shimmering / Noise effects. There's no thousand ways to cut it for this one. The first "method" is as I mentioned, to temper with all the main three settings above. Especially with the last one, the Width. Again, reducing the space between each strands will reduce the Noise effects, especially if the hair / character is viewed at a distance. However, "reducing" does not mean removing. You have to fight against it, but there isn't a million ways to do that.

#1 Is, of course, MSAA (VAM's own MSAA, that is). Personally, I find a setting of 4x MSAA just fine. But yes, 8x is technically 'better' (just not really worth the extra dip in performance in heavier, more complex scenes).

#2 Is ReShade, my beloved. Now of course, there's Shaders aplenty out there, and there's no perfect / "best" combo of them. It's all subjective. However, ReShade does provide ways to fight against Noise and Shimmering by ways of clever use (I.E. just proper slider values) of the right combinations of Shaders. In my case, and on "top of" using VAM's own SMAA, I also use ReShade Shaders such as (*to name a few, can't recall all of them in my various presets): iMMERSE Anti-Aliasing (MartysMod SMAA), cDLAA (CShade Directionally Localized Anti-Aliasing), NFAA (Normal Filter Anti-Aliasing), cFXAA (CShade Fast Approximate AA).

But there's a price to pay for using ReShade: it's full-screen, it's just a layer. So whatever you do, it will impact your GUI (especially text, it will be messed with and usually will get just overall blurrier, etc). So using ReShade should be more of a situational thing than a full-time permanent "fix", so to speak. I myself use ReShade mostly for doing Posing work, almost exclusively. So I tend to deal with stuff that isn't moving.

#3 Similarly to ReShade, there's always one of the two? Or Three? Not sure how many there are, but one of those Post-Processing effects Plugins here on the HUB, such as MacGruber's Post-Magic, or Moyashi's Post Processing (personally, I prefer Moyashi's). And you can then combine that with perhaps a custom LUT (which can sometimes help a bit with reducing Shimmering by darkening and/or changing the contrast within the Hairstyles as an indirect effect of changing the scene-wide color grading).

Conclusion

I'm mostly an amateur at this, myself, so if I skipped anything here some of the HUB magicians will add to it, or correct me. But overall, the Sim / Physics-based Hair system of VAM1 is... well, it's old. It's limited. It has a lot to do I'm sure with shading as well, which I know will simply be much better in VAM2. But yeah, the overall idea is that there's no "fix" per se. There's only you having to spend time regulating each and every single Hair styles you happen to be using. It's 100% something you'd have to do. It's a long burning process and you will probably never get a 'perfect' smooth looking Hair that is completely devoid of any form of Noise (which is just ultimately inherant to VAM1's Hair system; can't escape it, but we can fight against it to some degree). Work on the Density / Multiplier / Width 'trifecta' of values first; and then compensate with ReShade and/or Post-Processing stuff.

Hope it helps.
 
Last edited:
Back
Top Bottom