Add VRAM as a Performance Metric to the Avatar SDK/Creator Companion
tracked
E L I Z A
I recently found out about Thry's Avatar VRAM Calculator. I didn't really have any idea that I should be looking into how much VRAM my models were using before uploading them. I realized this week that most of my complex models could easily go up to 800MB in VRAM with all features enabled. I feel like I would have made a more conscious effort to keep this number low if it was made aware to me via the SDK.
It is really nice to know how bad my model could impact others with these metrics. Thry's VRAM Calculator very bluntly let's you know how much Video Memory is being used.
Please add some form of metric for this with the Avatar SDK or Creator Companion.
Log In
Scout - VRChat Head of Quality Assurance
tracked
moonorama
Looks like it's finally happening!
DarkSwordsman
I would like to add: Thry's calculator also includes meshes, which the in-game texture memory metric does not account for. There is an avatar I'm helping someone with where I got the main textures below 50 MB, but Thry's said it is 170 MB due to the complex meshes with lots of blend shapes.
ItsTacosDude
Pretty sure this is being added in, previous dev log had a video displaying the new main menu that displayed this data under the avatar info tab
Patroll
30-40+ people instances fill up 12 GBs of VRAM and bottleneck even my 3080ti down to 60% GPU usage. This is a giant problem
DarkSwordsman
Patroll: Yep! Currently attend events for a group where they don't have a requirement for avatar performance besides "blatantly terrible". Even with 15 people my 8 GB of VRAM is often maxed out.
I like that people have fun things on their avatars or cool things, but people slapping on tons of individual parent constrained objects with multiple 4K textures in unacceptable.
This is why I wish VRChat also allowed blocking avatars that use too much texture memory. They claim this is because they can not get the texture memory until it is loaded, but this can be solved if they calculate it beforehand and have it as a property on the avatar. Though really they should allow you to do safety settings presets + block avatars based on specific metrics like physbones, particle count, etc.
The most common metric of avatars that are generally not performant is that they use too much texture memory. So texture memory would actually be very useful to block/limit avatars that are generally not performant.
Kilerbomb
This would be a welcome addition! I feel like many people are not aware of how much vram they are using, would be really nice to have this metric.
∗Buns∗
I just made a post recommending they enforce texture compression in the SDK
ᴋᴀᴡᴀ
∗Buns∗: If i understand it correclty compression does not affect VRAM usage of textures, it just affects how asset is stored in bundle. When compressed texture is being uploaded on GPU it gets decompressed by GPU and stored as usual.
∗Buns∗
ᴋᴀᴡᴀ: Actually, DXT Compressed textures stay compressed in GPU Memory. Crunch compression doesn't, Crunch has to decompress upon load and is actually bad for performance when loading in avatars. But regular DXT5 or DXT1 compression is great for both your AssetBundle and VRAM
ᴋᴀᴡᴀ
This also should be included in avatar performance ranking. No-good when one random dude loads into instance and your VRAM goes full and begin swapping. This is the one of main reasons why I turn off everyones avatars.
cobruhvr
This is why you dont use 4K textures x # of materials. Vram would be a nice performance metric to add because currently you can have medium to good avatars with very high vram usage x40 people and theres a limit to everyones amount of vram, ms gets bogged very hard past 95% gpu usage. The last 3% being that noticable ms delay, low frames and bad frametimes. I'm sure accounting for this metric will make many people unhappy with their rating, as they optimized with the current template in mind and not for realtime performance.
G
GrimSqueaker
Agreed this would be a step in the right direction. Would even love to block display of avatars above a threshold like we have for download size and performance stat. I wouldn't mind if this was flagged at time of upload; even if people circumvented it, I doubt enough people would bother learning how to do so easily.
Load More
→