Because I create motion capture scenes that rely heavily on keeping in time with the music, ensuring my scenes don't overtax everyone's computers is really important. Unfotunately, this means my scenes suffer in quality when I want to make them more elaborate. The more atoms I add, the more I have to work on lowering the quality of a models hair or dropping iterations on sim clothing. My biggest issue now is lighting. I like using lights for effects; different colors flashing to put some intensity into a scene or create a specific atmosphere.
However, when I want to use something that will tax a users machine, I often have to sacrifice quality in other areas. Some things I do to keep up the FPS in a scene involves messing with hair settings, clothing settings, light quality, collisions and ensuring props aren't being overlapped by too many light sources. I use spots instead of point lights, and sometimes turn off some of them casting shadows.
In my experience most FPS loss is due to physics; hair, sim clothing and person atoms really impact your perfomance.
HAIR
My first solution is to go to a model's hair physics and turn Curve Density and Hair Multiplier to 12.
Using oeshii's awesome madmoiselle hair as an example, in my desktop mode I have ~92 fps with the default settings of 24 and 24 respectively. If I change them both to 12, my FPS increases to ~131. That's HUGE!
To make up the difference in quality (IMO the hair look fine this way), I go to the looks tab and increase width by about 0.005-0.010. It's a bit better, but sometimes it can make the hair look worse. In my scenes, it makes little difference as the constant movement often distracts from the minor details.
In this particular instance, I also drop the Iterations (in the Physics Tab) to 1, and my FPS is now ~138.
Dropping hair iterations makes the hair limp. But I fix that by reducing the weight of the hair (in this case from 1.5 to 1). Increasing the Snap can also fix this in many cases.
CLOTHING
I've zoomed out a bit to show the clothing and you can see that being just a little bit further away from the model increased my FPS to ~200. So just keep that as a baseline for now.
Adding four pieces of sim clothing has dropped my FPS to ~140.
One quick solution is to turn off sim on undergarments. This increases my FPS to 169.
However, if you don't want to sacrifice the ability to quickly undress them the other option is to drop iterations on all sim enabled clothing.
With Sim Enabled on all the clothing, dropping the iterations to 1 on the undergarments only adds a tiny bit of FPS. However there is little to no visual limpness which is good. However, dropping the iterations on the skirt and shirt make them very limp and they look really awful. But... we did get a good amount of FPS back, now up to ~175 from the 140 earlier.
You can fix this; similarly to how I fixed the hair.
I just increase the stiffness from 0.5 to 1. Looks fine to me; almost no visual difference.
Shirts and dresses don't always work as well as these garments, but in this case the shirt looks absolutely fine with just the stiffness maxed.
Again, these quick fixes do not work for every piece of sim clothing, but you can mess around with weight, stiffness and sometimes the distance scale depending on the garment.
LIGHTING:
From what I've observed, the more lights you have and the more objects you have interacting with those lights the lower your FPS drops.
When it comes to FPS, I've found that spot lights have a great balance between performance and quality. Though directional lights are also great for overall lighting of a scene.
I've also learned that forced vertex lights are great for general lighting. I've discovered a sweet spot when it comes to lighting basic scenes, and that is using a max of 3 lights, often spots fixated on the primary focus of the scene form different angles with varying intensities. In most cases, that focus is 1-3 person atoms.
Here are a few screenshots with 4 different spot lights, set to red, green, blue and white. Global lighting is set to 0. Each pic has the Pixel Light Count increased by one up to the number of lights (1-4).
You can see the big difference between the images that having your pixel count up changes the quality quite a lot. You may also notice how my FPS dropped a lot between 3 and 4. This demonstrates the importance of limiting how many overlapping lights should be the max in a scene. You probably also noticed the difference between 2 and 3 is negligible, also demonstrating that 3 is the sweet spot with overlapping lights.
It keeps going down, here's an example of 6 lights.
More lights can make a scene look amazing, but while VaM is limited in how it handles it's resources, creators should probably stick to 3 lights overlapping on a single object. Thanks to kemenate and hazmhox for their input.
Different light type impact FPS differently, generally, Spot lights and Directional lights impact the least when used properly and Point Lights impact the most. As far as I've seen, area lights do nothing in VaM.
ForcedPixel lights impact FPS way more than ForcedVertex lights. ForceVertex only work as Point Lights and they do not cast shadows. However, IMO they actually look better as point lights than ForcedPixel lights with shadows disabled and still use less FPS.
Shadow resolution also has a impact on FPS. Each light has its own setting. These don't impact too much when increased on their own, but with a group of lights it makes a bit of difference. IMO the medium setting is very slightly different than very high and in many cases you don't need all the lights set on a higher quality. You can often adjust the shadow strength just slightly for each light to get a similar result without increasing the shadow resolution.
"Pro Tip: One can use (transparent) Image Panels for some fake Light and Shadow effect for screenshots. For example this "Spotlight Background" " -kemenate
Also see hazmox lighting guide here
COLLISIONS
Collisions make a difference. The more objects with collision enabled AND are interacting with other collision enabled objects, the more it impacts FPS. Just turning advanced colliders off on a person atom can net you ~15 FPS in some cases. Turning off collisions on objects in scenes is a good way to lower the impact on your FPS. Though it is often pretty minimal, unless you have a lot of colliding objects to start.
WARNING! Before messing with collisions in a scene, ensure you plop down a save if you are working on a scene. Disabling then reenabling collisions often crashes VaM. So trust me when I say save before messing with collisions.
SCRIPTS
Scripts are also a culprit in impacting FPS. Especially ones that are constantly doing something, like animating morphs. Two big offenders are the Life and Emotion plug-ins. Because these check a lot of conditions and animate multiple things at once while randomizing stuff, they can have quite an impact on FPS. So, consider that when thinking of adding them to an already FPS impactful scene.
I have tried tacking these types of plugins on to my mocap scenes and not only do they often mess up the mocap, they can desync the dancer and music. They are great for scenes and bring models to life, but maybe not necessary for EVERYTHING. It's all about compromise, quality vs utility.
ATOMS
When building sets for my scenes, I like to use the shapes to build props and stages. However, I noticed a few things that caused them to impact FPS. I already mentioned that when an object is interacting with multiple light sources it can have quite an impact. But you can still have multiple lights sources but having them interact individually with solitary objects isn't quite as impactful. Also, I've noticed scaling objects up has a significant impact on FPS as well. This is ashame because I find the built in shapes to be great since you can apply textures to them to make them into anything you want. I've also already mentioned that having collisions turned on and interacting with other atoms will impact FPS.
PERFORMANCE SETTINGS
Obviously, how you set your perfomance settings is going to strongly impact your FPS. ONLY for those with RTX cards see this VRSS guide by kimboo. I just thought this needed to be posted somewhere so it wasn't lost in time on the VaMDiscord, but the original guide is on there to clarify. It really works too. To really see how much of a difference it makes set your Render Scale to 0.5 and your MSAA to 8x. Again, it ONLY works in VR for those with RTX cards.
All this advice is going to be different in desktop and VR mode as well as be based on your system specs. My desktop PC is a 32gb ram, 3 Raid 0 SSDs, 1080ti, and i7-7700k 4.20 GHz. My VR PC has 32 gb RAM, 4 Raid 0 SSDs (including m.2 drive), 2080Ti and an i7-8700k overclocked to 4.9 GHz. Both systems have AIO cooling and PSUs above 700 watts. Just to give a baseline.
Shader Quality is a minute detail thing. From a distance it really doesn't matter. However, low sucks, medium is great, and high is a bit better than medium. However, I found for most scenes, medium is just fine.
MSAA Level is all about Anti-Aliasing or edges. What I love about having a black background on many scenes is its often hard to even see any aliasing. The areas where you are going to notice aliasing the most is on fine objects, like hair and some clothing. Having it off just looks so bad. But even 2x is a great difference. 8x is great for hair, but such a huge impact on FPS.
Render Scale this is a resolution setting for VR only. Lowering this just slightly can give you a good boost in performance without too much impact on quality. I often set this to 0.9 or even 0.75 for heavily impactful scenes. Of course with the above VRSS guide, it makes very little difference in quality, but still increases FPS dramatically.
Pixel Light Count Best set to 3, unless a creator has 4+ overlapping pixel lights. For creators, the impact difference between 3 and 4 is quite high, so consider keeping your overlapping pixel light sources to 3 and under. Check the light guide above or try experimenting with ForcedVertex lights. Antoher option is to ForcePixel lights you think are super necessary as this will override the users Pixel Light Count setting.
Smooth Passes this is the quality of your models, the smoothness of the morphs and such. Having this set to 0 can boost your FPS a little, but some morphs look almost horrific with this off. I think between 2-4 is reasonable and doesn't have as much impact on performance vs the quality difference. Kemenate has mentioned that working with morphs on higher settings can leave them looking distorted for lower settings. I have experienced this, but am not sure if the answer is always have this on 2-3. I have not found Smooth Passes to have a significant impact on FPS, so for now I would think it's most beneficial for everyone to have this set at the highest setting.
Glow Effects I say keep this off or on low. There are few objects in VaM that use this and the ones that do, I've noticed only minor differences between low and high as far as visual quality. It only has a small impact on FPS and only when objects using glow are in the scene.
Physics Rate set this to Auto.
Physics Update Cap set this to 3
Desktop Vsync I would only mess with this if you are seeing issues with screen tearing in desktop mode. Not for VR.
Mirrored Surfaces this can make a big impact based on the quality settings each reflective surface is set to. If you see a signigicant impact on FPS with this, try changing the Texture Size and Anti-Aliasing settings on the reflective surfaces in the scene first, if you don't like the result, just turn it off.
Soft Body Physics Pandora's box. The second coolest feature of VaM (besides mocapping), but the most impactful on performance. With the VRSS guide above, you might be able to turn this on and still enjoy VaM no problem. However, soft body physics can break a scene and sometimes enabling it can explode a person atom. Use with caution. You can also enable the setting globally and disable it for individual person atoms, currently you can disable female glute and breast physics. This is a fact I discovered recently and wonder if there is a way to enable it using collision triggers.
NEEDS MORE TESTING
Timer Scale and Playback Speed I recently tested decreasing Time Scale to 0.25 (on the main UI) and then increasing Playback Speed to 4 (in the Scene Animation tab). It seems to make Mocapped Animations smoother but I haven't noticed much of a difference in FPS gain. It needs more testing by various users to be confirmed. I also am unsure if the "smoother" animations actually look better. I suppose this will all chock up to personal taste.
Process Priority I've recently tested this in VR with no obvious results. Some people have reported experiencing better results when lowering this to Normal, though it is set to High by default. I'd love feedback on this. This could be more of a situation where it's based on individual hardware.
Physics Rate/Update Cap I have been informed that lowering your physics rate to 45 and update cap to 1 can improve perfomance and run animations at an optimal speed in physics heavy scenes. I have tested this myself and find the performance gain vs quality loss to be unfavorable. I stick with my settings
UNTESTED
SteamVR I have also read changing the rendering resolution down in SteamVR settings can increase FPS without having a strong impact on quality.
I am no expert and a lot of this is just from experimentation. Please give feedback and please let me know if I am mistaken about some of my observations. I'll be sure to credit you. Hopefully this can help newcomers have a better experience and maybe even help some new creators find ways of improving performance in the scenes they make.
Contributions from:
MeshedVR
kemenate
hazmhox
However, when I want to use something that will tax a users machine, I often have to sacrifice quality in other areas. Some things I do to keep up the FPS in a scene involves messing with hair settings, clothing settings, light quality, collisions and ensuring props aren't being overlapped by too many light sources. I use spots instead of point lights, and sometimes turn off some of them casting shadows.
In my experience most FPS loss is due to physics; hair, sim clothing and person atoms really impact your perfomance.
HAIR
My first solution is to go to a model's hair physics and turn Curve Density and Hair Multiplier to 12.
In this particular instance, I also drop the Iterations (in the Physics Tab) to 1, and my FPS is now ~138.
CLOTHING
Adding four pieces of sim clothing has dropped my FPS to ~140.
With Sim Enabled on all the clothing, dropping the iterations to 1 on the undergarments only adds a tiny bit of FPS. However there is little to no visual limpness which is good. However, dropping the iterations on the skirt and shirt make them very limp and they look really awful. But... we did get a good amount of FPS back, now up to ~175 from the 140 earlier.
I just increase the stiffness from 0.5 to 1. Looks fine to me; almost no visual difference.
LIGHTING:
From what I've observed, the more lights you have and the more objects you have interacting with those lights the lower your FPS drops.
When it comes to FPS, I've found that spot lights have a great balance between performance and quality. Though directional lights are also great for overall lighting of a scene.
I've also learned that forced vertex lights are great for general lighting. I've discovered a sweet spot when it comes to lighting basic scenes, and that is using a max of 3 lights, often spots fixated on the primary focus of the scene form different angles with varying intensities. In most cases, that focus is 1-3 person atoms.
Here are a few screenshots with 4 different spot lights, set to red, green, blue and white. Global lighting is set to 0. Each pic has the Pixel Light Count increased by one up to the number of lights (1-4).
It keeps going down, here's an example of 6 lights.
Different light type impact FPS differently, generally, Spot lights and Directional lights impact the least when used properly and Point Lights impact the most. As far as I've seen, area lights do nothing in VaM.
ForcedPixel lights impact FPS way more than ForcedVertex lights. ForceVertex only work as Point Lights and they do not cast shadows. However, IMO they actually look better as point lights than ForcedPixel lights with shadows disabled and still use less FPS.
Shadow resolution also has a impact on FPS. Each light has its own setting. These don't impact too much when increased on their own, but with a group of lights it makes a bit of difference. IMO the medium setting is very slightly different than very high and in many cases you don't need all the lights set on a higher quality. You can often adjust the shadow strength just slightly for each light to get a similar result without increasing the shadow resolution.
"Pro Tip: One can use (transparent) Image Panels for some fake Light and Shadow effect for screenshots. For example this "Spotlight Background" " -kemenate
Also see hazmox lighting guide here
COLLISIONS
Collisions make a difference. The more objects with collision enabled AND are interacting with other collision enabled objects, the more it impacts FPS. Just turning advanced colliders off on a person atom can net you ~15 FPS in some cases. Turning off collisions on objects in scenes is a good way to lower the impact on your FPS. Though it is often pretty minimal, unless you have a lot of colliding objects to start.
WARNING! Before messing with collisions in a scene, ensure you plop down a save if you are working on a scene. Disabling then reenabling collisions often crashes VaM. So trust me when I say save before messing with collisions.
SCRIPTS
Scripts are also a culprit in impacting FPS. Especially ones that are constantly doing something, like animating morphs. Two big offenders are the Life and Emotion plug-ins. Because these check a lot of conditions and animate multiple things at once while randomizing stuff, they can have quite an impact on FPS. So, consider that when thinking of adding them to an already FPS impactful scene.
I have tried tacking these types of plugins on to my mocap scenes and not only do they often mess up the mocap, they can desync the dancer and music. They are great for scenes and bring models to life, but maybe not necessary for EVERYTHING. It's all about compromise, quality vs utility.
ATOMS
When building sets for my scenes, I like to use the shapes to build props and stages. However, I noticed a few things that caused them to impact FPS. I already mentioned that when an object is interacting with multiple light sources it can have quite an impact. But you can still have multiple lights sources but having them interact individually with solitary objects isn't quite as impactful. Also, I've noticed scaling objects up has a significant impact on FPS as well. This is ashame because I find the built in shapes to be great since you can apply textures to them to make them into anything you want. I've also already mentioned that having collisions turned on and interacting with other atoms will impact FPS.
PERFORMANCE SETTINGS
Obviously, how you set your perfomance settings is going to strongly impact your FPS. ONLY for those with RTX cards see this VRSS guide by kimboo. I just thought this needed to be posted somewhere so it wasn't lost in time on the VaMDiscord, but the original guide is on there to clarify. It really works too. To really see how much of a difference it makes set your Render Scale to 0.5 and your MSAA to 8x. Again, it ONLY works in VR for those with RTX cards.
All this advice is going to be different in desktop and VR mode as well as be based on your system specs. My desktop PC is a 32gb ram, 3 Raid 0 SSDs, 1080ti, and i7-7700k 4.20 GHz. My VR PC has 32 gb RAM, 4 Raid 0 SSDs (including m.2 drive), 2080Ti and an i7-8700k overclocked to 4.9 GHz. Both systems have AIO cooling and PSUs above 700 watts. Just to give a baseline.
Shader Quality is a minute detail thing. From a distance it really doesn't matter. However, low sucks, medium is great, and high is a bit better than medium. However, I found for most scenes, medium is just fine.
MSAA Level is all about Anti-Aliasing or edges. What I love about having a black background on many scenes is its often hard to even see any aliasing. The areas where you are going to notice aliasing the most is on fine objects, like hair and some clothing. Having it off just looks so bad. But even 2x is a great difference. 8x is great for hair, but such a huge impact on FPS.
Render Scale this is a resolution setting for VR only. Lowering this just slightly can give you a good boost in performance without too much impact on quality. I often set this to 0.9 or even 0.75 for heavily impactful scenes. Of course with the above VRSS guide, it makes very little difference in quality, but still increases FPS dramatically.
Pixel Light Count Best set to 3, unless a creator has 4+ overlapping pixel lights. For creators, the impact difference between 3 and 4 is quite high, so consider keeping your overlapping pixel light sources to 3 and under. Check the light guide above or try experimenting with ForcedVertex lights. Antoher option is to ForcePixel lights you think are super necessary as this will override the users Pixel Light Count setting.
Smooth Passes this is the quality of your models, the smoothness of the morphs and such. Having this set to 0 can boost your FPS a little, but some morphs look almost horrific with this off. I think between 2-4 is reasonable and doesn't have as much impact on performance vs the quality difference. Kemenate has mentioned that working with morphs on higher settings can leave them looking distorted for lower settings. I have experienced this, but am not sure if the answer is always have this on 2-3. I have not found Smooth Passes to have a significant impact on FPS, so for now I would think it's most beneficial for everyone to have this set at the highest setting.
Glow Effects I say keep this off or on low. There are few objects in VaM that use this and the ones that do, I've noticed only minor differences between low and high as far as visual quality. It only has a small impact on FPS and only when objects using glow are in the scene.
Physics Rate set this to Auto.
Physics Update Cap set this to 3
Desktop Vsync I would only mess with this if you are seeing issues with screen tearing in desktop mode. Not for VR.
Mirrored Surfaces this can make a big impact based on the quality settings each reflective surface is set to. If you see a signigicant impact on FPS with this, try changing the Texture Size and Anti-Aliasing settings on the reflective surfaces in the scene first, if you don't like the result, just turn it off.
Soft Body Physics Pandora's box. The second coolest feature of VaM (besides mocapping), but the most impactful on performance. With the VRSS guide above, you might be able to turn this on and still enjoy VaM no problem. However, soft body physics can break a scene and sometimes enabling it can explode a person atom. Use with caution. You can also enable the setting globally and disable it for individual person atoms, currently you can disable female glute and breast physics. This is a fact I discovered recently and wonder if there is a way to enable it using collision triggers.
NEEDS MORE TESTING
Timer Scale and Playback Speed I recently tested decreasing Time Scale to 0.25 (on the main UI) and then increasing Playback Speed to 4 (in the Scene Animation tab). It seems to make Mocapped Animations smoother but I haven't noticed much of a difference in FPS gain. It needs more testing by various users to be confirmed. I also am unsure if the "smoother" animations actually look better. I suppose this will all chock up to personal taste.
Process Priority I've recently tested this in VR with no obvious results. Some people have reported experiencing better results when lowering this to Normal, though it is set to High by default. I'd love feedback on this. This could be more of a situation where it's based on individual hardware.
Physics Rate/Update Cap I have been informed that lowering your physics rate to 45 and update cap to 1 can improve perfomance and run animations at an optimal speed in physics heavy scenes. I have tested this myself and find the performance gain vs quality loss to be unfavorable. I stick with my settings
UNTESTED
SteamVR I have also read changing the rendering resolution down in SteamVR settings can increase FPS without having a strong impact on quality.
I am no expert and a lot of this is just from experimentation. Please give feedback and please let me know if I am mistaken about some of my observations. I'll be sure to credit you. Hopefully this can help newcomers have a better experience and maybe even help some new creators find ways of improving performance in the scenes they make.
Contributions from:
MeshedVR
kemenate
hazmhox