• Hi Guest!

    We are extremely excited to announce the release of our first Beta for VaM2, the next generation of Virt-A-Mate which is currently in development.
    To participate in the Beta, a subscription to the Entertainer or Creator Tier is required. 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.

Trucino

Well-known member
Joined
Feb 27, 2024
Messages
61
Reactions
375
Hey everyone,


I've been developing the RealFeel scene for over a year now. Over time, the scene has grown significantly in size and complexity — which, as expected, has led to a gradual drop in performance.
We can imagine that this scene is heavy on performance because of lights, hundreds of mocaps, tons of scripting, or tens of moveable 3D assets.



RF living room b kopie.jpg
RF all scripting kopie.jpg

















However, in a recent round of testing, I discovered something surprising:
The biggest performance bottleneck is caused by the female character in the scene.
After disabling her completely, I saw an average increase of around 30 FPS, which is massive.

Naturally, I started digging into what exactly could be causing this.
I tried turning off various plugins, presets, morphs, collisions, and more — but no matter what I adjusted, the most I could squeeze out was an extra 2–3 FPS.
Well Soft Body Physics gave me about 7 fps, but this scene is focusing immersion and realism, so there is no way to see weird penetrations :D
So clearly, something deeper is going on, and it's escaping me.



RF Performance Metrics.png

















That’s why I’m turning to the community —
Are there any experienced users or performance experts out there who would be willing to help investigate what’s dragging the FPS down so dramatically?
The focus should primarily be on the scene itself. While session-level tools like Give Me FPS or CPU Performance Monitor can offer useful insights, most of the less experienced RealFeel users report performance issues coming directly from the scene.

In particular, many complaints point to lighting — so if there's someone skilled in proper light optimization, that would be incredibly valuable.
Others have reported general performance drops, especially in VR, where things get even more demanding.

If anyone knows how to optimize 3D assets, or has experience identifying performance drains in complex timelines (mine has millions of keyframes, hundreds of animations, involving two characters and up to 15 animated 3D objects per sequence), your help would be more than appreciated.


I’d be happy to share the latest version of RealFeel for free to anyone interested in helping test and analyze it.
And if it turns out to be a bigger task that takes time and effort, I'm also open to discussing additional rewards or compensation.

Thanks so much in advance for any insight or help — this could really make a huge difference for the future performance of RealFeel!


Trucino
 

Attachments

  • RF living room.png
    RF living room.png
    8.6 MB · Views: 0
  • RF living room kopie.jpg
    RF living room kopie.jpg
    658.5 KB · Views: 0
Last edited:
First, just a couple of advices :
  • You need to rethink your posting method. In a help section of even in a product section, never use centered text. People brains are not made to read centered over long text, it's extremely tedious for the eye. And it was a pain to read your post. ( you don't see centered text in books, papers, documentations, -well done- websites, there's a reason for that :p )
  • Remove your big screenshots, make them thumbs. You're not in an advertisement scenario. They're not giving any useful information here besides your excel file.

So anyway, you're kicking wide open doors right here lol.
We all know female characters are killing the framerate especially with soft bodies.

Key points for VAM optimization:
  • In your scenario, you should ensure you're running far faster than this without anything in the scene, only your enviro/lighting.
  • It seems, from what I'm gathering from your shots, that you are using realtime lighting. If you plan on doing a huge scene, it's a bad choice. You should go baked and only have strategic realtime lights needed for your scene at a specific moment.
  • Atoms are extremely expensive. The more atoms you have, the more strain on the framerate you have. A basic UI with VAM Native UI (like for instance 80 buttons) is ultra expensive compared to a VAMStory solution. It's true for ANY kind of atom. So reducing the atom count is good. For instance: if you have interactive elements in the enviro (opening doors & stuffs like that). They should be done in the CUA and controlled through a complete single script allowing to control them instead of having CUAs for doors.
  • Timelines, mocap is nice, but raw mocap is bad. You need to reduce your mocap up until you see a clear loss in quality. In game dev, all mocaps are reduced and manually cleaned up. This is not something you see often in VAM because people don't really dig on how mocap is done. You pretty much never have "raw" mocap in games.
  • Pixel lights get more expensive based on the number of lights hitting a mesh (to make it short). Unity's version for VAM starts to get heavy at 3 pixel light per mesh. Succeeding at having a great light with less pixel light will net you massive performance increased.
With that base your already have a good starting point.
There are several ways other ways of optimizing your scene we can discuss if you want, but it implies a far more complex set of changes.
 
Thanks again for all the tips!
I've actually tried most of them in the past, and after a lot of testing I ended up going with the current setup.
That’s not to say it wouldn’t be worth revisiting those decisions now — but if I did, I’d really need to be sure I’m doing it the best possible way.

What I mean is: there are multiple ways to achieve the same thing in VAM, and many different plugins to choose from for each solution.
On top of that, there's always the question of how much realism I'm willing to sacrifice, since realism has been one of the main goals of the RealFeel scene from the very beginning.

Actually — just today I was experimenting with how nice and immersive a lighting setup can be when done properly.
I know that in RealFeel, the lighting can feel a bit like something out of a nightclub or even a brothel 😄 — but honestly, that kind of over-the-top lighting has become part of the brand, and I’d prefer not to mess with it too much.
That said, the lights themselves aren’t the real FPS killers.
Truth be told, if I completely removed both characters from the scene and all scripts (empty atoms), In other words I let there only Apartment and lighting... I’d be hitting 200+ FPS easily.
The apartment environment is entirely hand-modeled — piece by piece — over the course of a year in Blender.
It’s built with optimization in mind: minimal poly counts across the board.

Even so, I know that if someone like you — with real technical experience — could see the scene running live, you'd immediately spot areas that could be improved.
There are definitely elements that are too far along in development to completely rework...
...but I’m also confident that there are many little things that could be tweaked or swapped without affecting the look at all — and yet would have a noticeable impact on performance.

Let me know if you'd be willing to take a look — I’d be happy to send you the latest RealFeel scene right away. 😊


Btw thank you for posting tips, I fixed that.
 
Sure, don't hesitate to send, I'll take a look.

It’s built with optimization in mind: minimal poly counts across the board.

Polycount does not matter if it's well done. And does not matter if it does not have insane structure where you're shadowcasting.
For instance, a two pixel light setup on a section with insane shadow casting objects (like very a lot of intricate small sections like a grid) can kill your fps even with a low polycount.


On top of that, there's always the question of how much realism I'm willing to sacrifice, since realism has been one of the main goals of the RealFeel scene from the very beginning.

If you're shooting for realism, then it's kind of silly to not be in a baked situation. Baked lighting is 10 times more beautiful than a realtime lighting with less cost.


Long story short: you should not be at 50fps with two characters. Unless you have an insane amount of atoms or whatever it is. But your shot with the atom controls does not feel like it's very over the top.
 
To be honest when I finished apartment model, I concider baking a lights, but results was not so good, but it could be because my skills with 3D models are on the begining :D This was my first bigger modeling. And about setting lights in Unity or anywhere else I am total beginner.

All you saying could be useful I know you know a lot of about it.
I think best start will be if you will see scene on your eyes. I go write you on Discord :))
 
To be honest when I finished apartment model, I concider baking a lights, but results was not so good, but it could be because my skills with 3D models are on the begining :D This was my first bigger modeling. And about setting lights in Unity or anywhere else I am total beginner.

All you saying could be useful I know you know a lot of about it.
I think best start will be if you will see scene on your eyes. I go write you on Discord :))

Yeah, baking is an art by itself ;)

Discord handle is the same as here, add me as a friend, I don't accept requests otherwise (too much spam/scam).
 
Performance optimization is pretty complex based on my experience.
Lights, heavy environment asset and soft body physics are typical culprits but you've already done benchmarking to rule those out.
I tried the free REALFEEL scene and looked at the performance. I freeze the scene when measuring fps to factor out some movement or animation related physics cost. Here are some notes:
  • In general the scene look CPU bottlenecked, I wasn't hitting max GPU utilization even after turning off light, environment etc. Are you using the CPU patch?
  • Glute Physics is very expensive in motion. If possible, turn it off and use ShakeIt to emulate it, unless it breaks your animations.
  • As a reference I'm using my Sexy Kpop Dances which has ~200 atoms, lots of mocaps, 4-5 lights etc. I can get around 200fps in a static pose. Script time is 1.5ms
  • In your scene, I'm getting around 100fps in a static pose. Script and Physics time are both in 4-5ms range.
  • Script time is likely high coz of the ~600 atoms and many logicbricks plugins you have for triggers. Turning off lights, environment etc didn't help much.
  • Beyond the previous discussion, I'd suggest reducing the number of total atoms and total plugins.
    • VAMStory as mentioned above is a good way to considate individual UI atoms.
    • For plugins, I see you have a lot of individual atoms for Relay and Delay plugins. If you have a group of these LogicBricks triggers, and only execute them one at a time - you can consolidate them by using a single LogicBricks StateMachine plugin.
    • You can replace your relay and delay plugins with a StateMachine state having a fixed time. You can execute a state by calling the switch state Trigger and specify the state name. StateMachine also lets you create a sequence of triggers if you chain multiple states using transitions.
    • For lights, you can use empty subscenes for the light rig in different room positions, and load them on demand when user switches to that part. This will reduce total number of light atoms, and ensure you don't accidentally leave too many lights on.
 
As a frame of reference, we checked a couple of things yesterday, Trucino on a 4090 is at 50fps on desktop with a base animation (which is very bad).
 
As a frame of reference, we checked a couple of things yesterday, Trucino on a 4090 is at 50fps on desktop with a base animation (which is very bad).
Holyyy.. 50fps is quite low for 4090, what resolution? Maybe using the CPU patch will help. I'm also on a 4090 with 1440p res.
 
A somewhat ultra wide 4K (which is a bit smaller vertically than a normal 2160p)
 
Holyyy.. 50fps is quite low for 4090, what resolution? Maybe using the CPU patch will help. I'm also on a 4090 with 1440p res.
Heh I have 4K, so yeah... But doesnt mattet. Hazmhox helped me find main problem yesterday:
- crazy number of Atoms - I am using almost 1K of atoms where I have included plugins with actions. I can really reduce it.
- Crazy menu with hundreds of buttons, I will rather use VamStory
- weird glitch in physics in female character (need to erase her and again add with all plugins and all scripts conected to her)
 
I'm new to Vam. I was wondering, basically a scene is many actions in different places with two identical atoms of people. What if each such action in a certain place would be a subscene, which would be disabled by default and would be enabled (disabled) by triggers when needed. Would this work and does it make sense for performance?
 
I'm new to Vam. I was wondering, basically a scene is many actions in different places with two identical atoms of people. What if each such action in a certain place would be a subscene, which would be disabled by default and would be enabled (disabled) by triggers when needed. Would this work and does it make sense for performance?

No. A subscene is simply just a scene loaded later.
You can get the exact same overhead by having characters off.
 
Нет. Подсцена — это просто сцена, загруженная позже.
Ok, I just gave the example of a subscene as a way to disable other unnecessary atoms, it could be any other atom. So if I disable an atom in a scene, it won't affect performance, the CPU will still check its state, triggers, plugins tied to it?
 
Ok, I just gave the example of a subscene as a way to disable other unnecessary atoms, it could be any other atom. So if I disable an atom in a scene, it won't affect performance, the CPU will still check its state, triggers, plugins tied to it?

"Technically", on paper... yes. An atom in off state is a Unity object in disabled mode. So there should be zero overhead. BUT... If you'd put like 10 characters in your scenes, with different clothes each, the scene will have to load that. No matter if it's delayed or not, it will have a strain overtime when you play through the scene. If you keep for instance, only two characters at a time, GPU/CPU will be ok, but the memory will still increase everytime you swap characters and load their assets.

On top of that, Trucino's example speaks for itself. He does not have all atoms enabled at the same time. Yet performances are very bad. Which means, even in a completely off state, there is a cost.
 
On top of that, Trucino's example speaks for itself. He does not have all atoms enabled at the same time. Yet performances are very bad. Which means, even in a completely off state, there is a cost.
With human atoms it makes sense. I only watched his LITE scene and there many atoms are just hidden, but almost all of them are enabled by default. Thanks for your answers.
 
With human atoms it makes sense. I only watched his LITE scene and there many atoms are just hidden, but almost all of them are enabled by default. Thanks for your answers.
Hi, may I ask you how much fps you get from Realfeel Scene?
 
Hi, may I ask you how much fps you get from Realfeel Scene?
Hi, in a LITE scene if I run an animation with soft body physics 20-22 fps, usually in scenes with two people fps 27-32. I have a CPU from the past:), so I think this is a bad example for analytics
 
Hi, in a LITE scene if I run an animation with soft body physics 20-22 fps, usually in scenes with two people fps 27-32. I have a CPU from the past:), so I think this is a bad example for analytics
Okay, its a pity :p but If I will sucessfully remake Realfeel for gaining better performance, maybe it will be more playable for you :))
 
Okay, its a pity :p but If I will sucessfully remake Realfeel for gaining better performance, maybe it will be more playable for you :))
Thanks for taking the effort to research and remale the scene. i always wanted to like it but the performance always was way to bad.
13600k 4090 it was okay for desktop but not for vr.
Really looking forward to an improved version.
good luck with the optimisation effort.
sounds like some work but doable.
 
Thanks for taking the effort to research and remale the scene. i always wanted to like it but the performance always was way to bad.
13600k 4090 it was okay for desktop but not for vr.
Really looking forward to an improved version.
good luck with the optimisation effort.
sounds like some work but doable.
Thank you for this response, its just confirming that it is needed. Many people want play it but they cant. I hope this complete remake will helpfull.
 
Back
Top Bottom