• 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.
Plugins available on Patreon
Performance Overlay v1.0Configurable overlay for monitoring frame rate, frame time and heap size memory.
Naturalis v1.4 alphaEnhanced physics simulation and natural dynamic morphing for the body.
Trigger User Preferences v1.0Makes almost everything in user preferences triggerable.
Draw Debug Mesh v1.0Wireframe rendering for the person atom's skin mesh.
UXPlus v1.3Usability improvements focusing on the VAM user interface.
Body Weight v1.0More realistic body mass, adjustable by region.
Default Scene Manager v1.0Select scene to load on VAM start, and create scene load actions for Keybindings.
Continue Scene v1.0Auto-save the current scene to Continue.json when exiting VAM.
VamBoop v1.0Boop the boob with your mouse pointer!
If you like this plugin, consider favoriting it, giving it a thumbs up, or posting a review. Thanks! (y)

Performance Overlay

perfoverlay.png


What it looks like when showing all data (min/max enabled, frame times enabled, heap size enabled):

1701605424437.png


The main purpose I built this was to accurately monitor the heap size and detect memory leaks. But you can just use it as a frame rate overlay as well. There's a lot of potential ways to extend this plugin with additional features - if there's something you think would be particularly useful, let me know!

You can configure how often the overlay updates, what data is shown, how many decimals are used, and you can also position the overlay in any corner of the screen with a customizable margin.

Frame rates and frame times can show either just the average value, or the average, min and max values. The values are calculated within an interval defined by the "Data buffer length" slider, so e.g. if that's 1 second, you always see the average, min and max values over the past second.

The overlay is also shown on the monitor view in VR (regardless of whether the Monitor is enabled!) - this can be toggled off.

About overhead

The overlay's own impact on heap size is not zero, but it's very minimal. Using default settings in an empty scene with no other plugins, you'll see the heap size build up slowly at a rate of about 0.1 MB per 15-20 seconds. I suspect most of this is due to VAM itself. It's impossible to get this down to zero, unfortunately. If you show more data, more decimal places and reduce update interval, heap size will build up more quickly. Regardless, it'll pale in comparison to actual memory leaks and to large bumps in memory use when adding/loading something, which is the purpose of showing the heap size in the overlay.

More resources from everlaster

Share this resource

Latest updates

  1. v1.0.0 (out of beta)

    By default, the overlay is not shown in Play Mode. Showing in play mode can be enabled with a...
  2. v1.0-beta2

    optimizations to reduce memory overhead of the overlay itself only update the overlay if the...

Latest reviews

Positive
Version: v1.0-beta2 / 2.var
Posted:
"The main purpose I built this was to accurately monitor the heap size and detect memory leaks."

EXACTLY what I was looking for for a long time.
Upvote 0
Positive
Version: 2023-12-02
Posted:
Excellent Idea. Is it possible to individualize error details as part of this plugin. My error log is enormous on the initial load of VAM, I usually clear my cache and review the errors it, but there in no way to isolate what the loaded scene errors are. Maybe it is a non concern for most , but I feel the errors cause crashes and based on how they are reported now, it is overwhelming to repair.
everlaster
everlaster
Thank you. I think anything to do with the error log is outside the scope of this plugin, but you're right that the error log can be a mess!
Upvote 0
Back
Top Bottom