#avatar-optimization
1 messages · Page 9 of 1
Not a new bug, just pointing it out
The SDK and in-game VRAM readout is incorrect and only adds up textures currently on the avatar, ignoring extra ones that come in with animations (even though they sit in VRAM as well)
This means an avatar excellent rated in VRAM could actually be Very Poor in VRAM
Server-side checking of avatars will at least be fixing that issue after upload, but yeah, SDK still an issue.
Isn't server-side pref ranks already turned on for new uploads?
It is turned on, but I have been assuming the live client doesn't understand it yet.
Most noticeable thing would be that "Avatars that exceed your performance rank limit won't be downloaded", but would need to find avatars that have been scanned to test that.
Easy enough to do myself. brb
Can't find anyone who has checked whether the server-side check catches the extra VRAM, sure hope it does.
Checking now
If it doesn't, I guess I can file it as a beta bug.
Would definitely be a bug, would be wasteful if it wasn't checking such things.
Bad news. Uploaded using the Beta SDK, viewed on the Beta client - Thry's calculator shown as well to see true vram
So either server checking doesn't check alt mat swaps, or server checking isn't turned on. Or server checked values are still calculated locally at upload time?
Who knows.
If this was a newly uploaded avatar then it might not have been checked yet and is sitting in the queue.
It was just updated, but I updated it seconds ago
I'll check back tomorrow I guess!
Sure would be useful if they gave us a tick or something that a avatar has been server-side checked, would have been real useful for beta testing.
That's a good feature request. could put it next to the features of the avatar like eyelook
Don't think it needs to be that prominent, it just needs to be visible somewhere.
Ideally every avatar should have it, so would make it visual noise.
what if instead of an icon for if it is server side checked, we have an icon for if it isn't
Would it be more optimized to add multiple uv maps for UV discards (poiyomi) or have multiple blendshapes to stop clipping on a piece of clothing? I need three and i was wondering if having too many uv maps was bad for performance.
blends worse, uv discard can do multiple toggles with 1 uv
Avoid blendshapes toggles especially when the mesh is above ~30k polys
might have stumbled across an issue with UV. I have 2 separate materials that each use a different UV layer, but when I try to toggle one the other is triggered as well. Is this a bug or a limitation?
Uv Discard is fairly useless. and requires a special shader like poiyomi to be useful. ontop of that you would need to recreate your UV map in blender. and its not recommended. however doing blendshapes is recommend over adding extra uv maps and materials and mesh renderer. all of those things combined still takes up memory(ram) and vram.
thats not correct. there is no downside to it. apart from a small vram cost.
Yes there is
no not really
yea i have seen that one
Then you will see there is a signifigant increase in frame time when not splitting meshes on unity 2019
there is no thing such as active or inactive blendshapes.
Proof
Even assuming you're correct, a temporary cost is still a cost
compared to a fixed cost
also I can say with near certainty that in avatars poiyomi is the most used shader
and also 10 blendshapes will never take up 0.86 ms of frametime.
otherwise every single avatar that exist would take up 1 + ms of frametime just from having face animations that uses blendshapes.
Yes, they don't because they split their meshes
no
Yep
And if they don't then their mesh isn't 155k polys, like is being used in that example
your cpu/gpu does not suddenly get a 40 + ms of frametime.
there is a reason why you lag like crazy when you load in someone with to many meshes/materials.
even as few as 10 materials can cause an issue in a world of 40 people.
And if you're going to say oh but uv tile discard needs a lot of materials
you get 16 discards per uv map
Thats 16 toggles
disabling animations would also disable blendshapes so the requiring the safety settings to show Avatar does not have too much relevance
and barely anyone uses it
What
uv discard is not to useful
and also literally the most popular vrchat Shader has UV discard as an option
yep but again do you personally see people use it?
prob not
and what if your not showing someones shader.
your avatar is broken
visually.
how would I know how their toggles work looking at strangers
what if your in worlds with quest users
if you don't show someone's animations blendshape would be broken as well
they wont be able to see it
Quest avatars don't really have the budget to be having lots of toggles
quest cant use uv discard lol
Quest avatars don't have a lot of techniques used for optimisation, such as constraining props from, say, your back to your hip.
the fixed vram budget of the quest avatars kind of prevents you from having a whole lot of stuff anyway
no. the vram is not an issue
its processing power.
the quest 2 cpu/gpu cant really handle much.
Yes
so basically having toggles on a quest avatars a moot point
So we both agree you shouldn't have lots of toggles on quest which means this uv tile argument is a moot point then?
discard the quest as a option.
then no reason not to use UV discard
you can have toggles on. but then it wont be quest performant.
Yep
well it can be
So for an optimised quest avatar you shouldn't have lots of toggles
Yep
that leaves you like no budget for multiple outfits
so basically that would just be toggling props on and off
which is why u cant do uv discard either.
What?
takes up to much vram cost.
No
yep
Quest doesn't have any custom shader support
and that to.
Thats why we can't do uv tile discard
so the quest is entirely Irrelevant for the UV discard question
wouldn't really make alot of sense
Why not?
polygon budget. is to low
and as I mentioned already blend shapes and bones are not immune to being stripped off of avatars
What if you're making a heavily stylized avatar?
if you disable animation nothing breaks. cause no animation can be played.
as in like what?
Low poly aesthetic?
how low?
yes but that's assuming they set up the Avatar in a way that had a sensible outfit combo with no animations
Ala Deep Rock Galactic or something
which is most likely within the budget anyway.
Yes
1 material needed only
Yes
like pretty much all the public avatars
what public avatars?
you mean those with 50-100 materials each :D?
1+ million polygons etc?
With UV tile discard they could keep it at 1 material and have lots of toggles on this heavily stylised low poly avatar.
the tab that says public in the Avatar tab in vrchat
you would run into a polygon limit regardless. and a vram cost to.
Nope, as discussed this hypothetical avatar is heavily stylized and is super low poly.
15k
Thats what it is to hit good on quest? I can't remember.
right the avatar it self is prob going to be 15k.
yea dude.
You can make avatars that are low poly
15k is low poly lol.
1k you cant make anything decent looking
like a lot of PS2 characters were using that budget
Ok thats subjective
yea and ps2 characters looked like crap lol.
This character is sub 5k polys I'd say it looks pretty good
that i can agree to. looks nice
So we both agree you can make good looking extremely low poly characters then?
I couldn't find the exact one I was thinking of cause its on booth and i don't know japanese to be able to search for it
so that one will have to do
and it would look really bad in vr . lol
it only looks decent cause the viewing angle and resolution back then
Its pretty stylized
yea that it is
eww he looks even worse in 4k lol
But anyways this topic has majorly digressed
UV Tile discard is far from useless. The VRAM cost of using another UV map is hardly anything. The performance increase of not using blendshapes + not even needing to render the polys affected when toggled off are worth it
you dont really render the polygons anyway.
its occluded since its most likely hidden away inside you
Nope
yep
Since its still apart of the same mesh, it won't be hidden
avatars would only have frustum culling not occlusion culling
Same bounding box and all
regardless of it.
so stuff hidden by blendshapes are still getting rendered
your paying a price for UV still
Sure, but its lower than blendshapes
depends.
Not really
yep really.
blendshapes also affect vram
Mmhm
very little
Nah I forgor to delete the blendshapes off my body mesh once and my vram jumped up by a solid 10mb
like uv discard is not something magical. it has a steep cost in having to rerender and potentially other things.
yes as every single blendshape has to duplicate the whole Avatar all over again vertices wise
But the point of UV tile discard is that it doesn't render things?
it does through
Explain
when you switch out
like whatever you switch. still has to be rendered again
i agree it only renders what is shown
but it still has to
i am saying rerender.
What
also checking you can just use UV 1 uv discard so it doesn't even necessarily incur a vram cost of extra uv Maps
well depends on the UV size. like if you got 16 toggles.
or toggleable.
that UV will get fairly big.
anyway also. UV discard does not allow for any special interactions as far as i am concerned.
What do you mean special interactions?
you're not adding extra vertices to store a extra UV map if using uv1
oh right. uv discard limitations is that you cant really do much within that one shader. unless other effects like emissions and such can use a different UV channel. which even then wouldn't work with uv discard right?
Poiyomi is literally the most versatile shader out there
like literally that's the most popular toon Shader
Then you should know what you just said is literally misinformation
no
Can't Really do much within that one shader
how would the UV discard break emissions
You can do pretty much everything within that one shader
as in affecting the 16 different toggles thats what i mean lol
like what if you have 16 different things you want emission for.
you can only control what is it now 3 or 4 at best?
UV discard should have no effect on the controllability of any of the rest of the Shader?
especially since you can specify which uv Maps to use for controlling various special effects
so any weird layouts used from uv discard would have no effect on like your emissive scrolling
and i return to the original. do you actually ever hear people use it? talk about it or have seen it being used?
Yes
would anyone use it since it breaks your visually look unless shader is active
honestly you shouldn't be having mutually exclusive objects on one Avatar anyway
so a scenario where your avatar would look stupid because everything is turned on is not advisable because carrying your entire wardrobe around on one Avatar is bad for vram
I'm kinda biased for this because I'm staunchly in the "1 avatar per outfit" group of people
kinda the same lol
I log in, choose how I want to look, then play the rest of the day in that avatar.
i only ever have one outfit. if any.
yeah if you're only doing one outfit it's not the end of the world if your hat is toggle on for strangers who have stripped off your Shader
yes and I'm saying designing a outfit combo where everything turned on look stupid is a bad idea in general
and stripping off your animation controllers probably going to make a mess of your outfit
well that would be dependent on how someone constructed it
sorta yea
as I have bumped into people whose outfits looked in a stupid configuration with the animation controller turned off
Thats simply a skill issue tbh for the most part
thats rarely the case through.
you can't really make a qualitative statement like that as you can only look at like what your people in your instances do
eh.
of all the time i used vrc i have yet to see one that is broken with animation turned off
Tupper mention to fixing a bug that was causing wardrobe malfunctions in one of the Patch videos so it was happening often enough for them to notice
or like the outfit not showing up at all so you're naked
thats just because someone made the animator turn it off i assume which is obviously kinda bad.
also I kind of notice the poking up a UV discard documentation all the videos scenarios are showing just turning off parts of a singular outfit not trying to toggle multiple outfits
also if you want to see a proper blendshape test. which is still in the unity editor search this on youtube or google "Unity Blendshapes Stress Test" a 380k tris and 250 blendshapes. and it barely impacts performance. cant really link the video since its not sfw lol.
yea i saw that.
so that might be a bit on the that's your own fault territory if you're putting multiple mutually exclusive stuff on the same Avatar
i never do that
then what's the harm if the Shader get stripped off
and if i did i would control it by ensuring that no two things can be enabled if it occupies the same space.
if shader is off it would just show all textures within that uv discard i imagine?
so the Avatar would just have all their stuff toggled on
yep and look wierd AF
but you just said you're only like wearing one outfit on the avatar
in my case yea.
but i was thinking in broad terms.
and if i only have one outfit i would still go the blendshape way. since i still need to render the polygons for UV discard.
then if we're talking a hypothetical General audience we could also deal with people doing stupid things as far as their animation controller Construction
and people will do that alot rainwolf.
The whole point of UV tile discard is that it doesn't render when its not active.
they want a fast solution that isnt to much work.
again when you choose to change that is.
And if you mean render when it is active, no matter what solution you pick for toggling thats always gonna be the case
Because if you want to see something it needs to be rendered
yep
So what are you saying with this then?
since i still need to render the polygons for UV discard.
Welcome to the Developer Update for 30 March 2023! This is the tenth Developer Update of 2023. Today’s featured world is Exoplanet Journey by Niko∗! Visit planets beyond our solar system while lying in comfort within an ultra-tech spaceship. Polarity inverter not required. If you’d like to catch up, read our previous Developer Update from M...
one of the developer blog post literally calls out performance concerns about shape keys
biggest concern is material/drawcalls.
i would love for them to show proper numbers on how bad they have seen it.
or what scenarioes it includes.
Proper numbers for what? Blendshapes or drawcalls?
how bad its affecting performance.
blendshapes and drawcalls
Well there is a proper numbers for blendshapes
not really.
i know
and those are far from proper.
How so?
the only reason why i can say that is cause of this video you need to search for
Unity Blendshapes Stress Test google that
and take the youtube video with a wierd red creation
so what makes the video particularly better than the text stats?
Do you know what unity version that was on?
350k + tris. and 250 blendshapes. active every frame only caused that person around 0.7 ms of cpu frametime.
however for gpu i cant say.
and thats in the editor even. which is not a desireable way to test things either as the unity editor does take up resources and can screw with results.
also there's a bit of a difference between just one homunculus creature in the room and 20 like you would encounter on vrchat
there is. for sure. but that is still viable. if you have 20 of them sure the performance degrade is high. but thats assuming you do 250 blendshapes per frame changing every frame which is unlikely
at most your not changing that many.
and as long as high material / mesh renders causes such massive lag spikes when someone changes into one. well. then its not worth going that route.
afaik none of this is gonna matter after vrc goes to 2021 yeah?
in terms of shape key stuff and splitting meshes for that, i mean
it wont matter to much no.
Blend shapes are still have some cost on 2021.3, but vastly improved over 2019
(vram cost in particular isn't changed, I believe?)
Vram cost slightly changes to. it mainly has extreme improves in terms of raw processing cost. overall blendshapes will be alot more viable in 2021.3 compared to now. like i only recommend blendshapes for low vertices count. not something massive.
yeah, i was more curious about the silly splitting meshes thing
i don't really go above 32k tris tho anymore lol
does the size of contacts affect performance?
Nope, it’s only the amount of Contact Components you have. You can make your Contact Radius as large as you need it to be.
hi, I use a bunch of costumes which is replacing whole body. That's basically means I have head as basis and multiple skinned meshes as bodies. Is there any good way to optimize it without make a bunch of the same avatars in different costumes?
I though about merge them into one mesh and use blendshapes to hide costumes but when you try to shrink complicated rigged mesh it still trying to reach bones by some vertices and that's a visual mess so I don't use that much.
Also hide them by shader also not an option cause all costumes use singular atlas texture and I want to hold avatar be as much identical for quest users as it is for pc users.
Any tips?
Should just let them be separate skinned mesh, it actually saves more performance this way.
has anyone animated UV discards yet? as it does not seem to animate as expected
Are you marking the property as animated?
Gotta do that otherwise it won't work when it gets locked
yea i am. however i am a little confused as to how i can add the keyframe for it, since the model has 4 materials. and i honestly cant seem to find out if its affecting all materials or just one. and also only one skinned mesh renderer
oh nvm. now it changes. i just cant seem to see it in the shader editor.
hmm. something is either wrong or something else for mine. it enables the clothes that are not suppose to show.
what shader are you using? keyframing material property changes will affect all materials on a given mesh
poiyomi has a feature to rename animated properties when you lock the materials to get around this
https://www.poiyomi.com/general/locking#rename-animated
if you wanna read more about it
- keyframing material property changes will affect all materials on a given mesh < it wont if you lock material, just dont have animate set on the other
i am aware.
also in poiyomi the copy property as keyframe does not seem to work.
so i assume this would rename it with the given material name? as suffix? if i understand it
have you tried hitting record then just clicking in the shader? that's how I record my changes
yea I think that's how it works with the current version
but you gotta lock the material for this to happen
so mark as RA, then lock material, then record the keyframe
ooh okay. so RA and then record keyframe. got it. gonna try that.
something was differently missing in terms of guidance lol.
hmm it does work now, but it shows as if clothes are on by default and i have turned them off in the shader.
what do you mean?
so in the shader. i have it set to default to clothes off. but whenever i test it, it shows them as if the clothes are on. and the animation is reversed so it takes off the clothes instead of on
yep. for some reason
sounds like an animation somewhere in your fx layer
or are you just testing one single animation?

hmm, the shader says they are float values. but i assume a boolean works just fine for it as parameter?
unless it needs to be a float
yee so that is correct.
do you need a on and off animation for it? or does one work just fine. cause that is the only thing i can think of atm
hold up..
a toggle. resets value to 0.
fucking hell makes sense
as to why it says on 😄
i need to do everything reversed then
lol
if you're using wd off, you need to animate both on and off states
with wd on, you don't need the animate the default state
wd is on
but thats what i mean. because i use toggle. and i animate on only
and since 0 in discard is considered to be the default showing value i have to reverse it
you can also make an animation for the default state ^^
yep
Hell yes they do
I don't know if this goes here but I wanted to ask if baking a character is a common practice in VRC
because rn my model only has 5.9k vertices but I would totally get more iterations of subdivision which will make the model more smooth and fun
It isn't common because many people don't have ability or knowledge to do. It's recommended. If you can bake, then bake it.
Ayo
baking as many things as possible without ruining the avatars look is something nearly everyone who wishes a good performant avatar does. like baking in the Normal map, AO maps etc and just overall reducing complexity.
is there a bake guide that is more comprehensive and just "press CATS button"? It definitely hasnt worked the way I intended the times I've used it
@marble rain @sick relic thanks, you two. It’s just weird because I’m only now learning about baking and no avatar tutorials ever talk about it
old one - note i didnt move uv's much as its an exsample and keeping the vid short , how to bake from an atlas since setting up every material one at a time is tedious, can seperate those after
(matcombiner tab keeps everything 1:1 - cats do not , tend to get a odd resolution that but its just temporary anyway)
theres a much more uv packed one exsample
i dont think so? but the cats bake i never used. i only use it to make atlas and material combine
Question VRAM Usage
If an avi has 350mb Texture Memory but 10 different outfits - do the 350mb are always loaded or only the texture memory for the currently playing outfits?
yes. they have to load into memory as long as you download it
regardless of them being on or not.
Alright, I have a question about skinned mesh renderers.
Basically, I am a really big fan of Adam Smasher, and I wanted to improve my model further by adding damage states. Keep in mind this is going to be as quest compatible as possible. For most of his armor I have rigged up bones to shrink to make the armor disappear, however because the arm is controlled by the armature this isn't possible for him losing his arm. Had bad would the performance jump be if I were to separate his left arm into its own skinned mesh, currently the avatar is sitting at 43mb of VRAM on PC and 10mb on Quest.
So the total would go from 2 to 3 skinned mesh renderers for both Quest and PC
you kinda want to max out at 1 or 2 for quest i believe.
but it shouldnt be to bad
unless you have alot of materials
Well...
I have very tiny textures. 512 most of time. But they are more numerous then Id want.
I'll ask in quest optimization to see what's the best way to test quest avatars
I feel like I need to test to be sure.
make a material atleast instead
ty ❤️
theoretically, what is more performant: two meshes, or one mesh that has a blendshape that changes it to the other's shape
core concept wise blendshapes were designed to have one mesh in multiple shapes to solve the issue of using multiple meshes for this
right
and yet a blendshape makes a mesh a "skinned mesh renderer"
which is heavier somehow
well, an armature makes a skinned mesh renderer. Regular mesh do not support blendshapes
It piggybacks off the whole deformation dohicky they do
idunno, weird question. Blendshapes are deff better than a whole nother mesh doing the same thing
blendshapes when it changes otherwise two meshes. but it depends on how many vertices.
because blendshapes depend on mesh renderer
Just a note, Bake has been forked off into a separate plugin since I wasn't able to push releases on the old one, leading to it being way out of date. You can find it here: https://github.com/feilen/tuxedo-blender-plugin
(also a ton of features were added since the last CATS release, you can see them on the release page!)
So I have been meaning to report this as a bug, but just wanted to note it anyway, the Manual mode for the baking doesn't seem to work, it just UV unwrapped it anyway, anything you happen to know I did wrong?
Uhh, on newer-er versions there's a totally fixed space mode
I forget what it's called. 'Manual' is a bit of a bad name, it actually takes whatever UV maps named 'Target' it can find and bakes to them.
I am very bad at naming things
Doesn't seem like it worked with my fbx at least.
Had a snuggly atlased UVMap named "Target", but when I did the baking it just made its own UVMap, like it does with the default.
Was a complete accident I learned about how manual worked.
Yeah. There's another option, 'Manual' still rearranges
Can't say I can find any other manual setting than this one
Are you on tuxedo-blender-plugin?
Yeah
well heck can't remember where it went then. I'll look into it when I have a moment
Ok.
I am in no rush.
Glad to know it's not just me having this problem
I can mirror those feelings, always a chance that I've managed to do something wrong.
Hopefully it can be figured out relatively soon because that's a helpful feature
I have a very odd issue xD
I have a friend I am attempting to help optimize his Nardoragon (Shows up as using 1200 MB of VRAM WTF!?).
I brought most of his textures down to 2k or less and while the download size of the avatar is now alot lower, for some reason the avatar's texture memory usage is still above 800mb....I'm also using VRCfury to bake his non-animated blendshapes into the mesh at upload, so its definitely not a blendshape issue. Thry's avatar tools is reporting a negative value when checking his texture memory. I'm at a loss for words hahaha, please help.
Okay, update, I deleted a backpack mesh he had on his avatar and that seemed to have fixed it. Something with the fbx?
It could've been that the mesh was incredibly high poly, everything that comes on an avatar has a "cost" of some kind, even meshes themselves
If it was newly imported and that backpack for some reason had blendshapes on it, then legacy blendshapes could have brought it up that high.
It is one of the things VRChat forced you to autofix in the SDK before upload.
so a while back i found out i could use blendshapes to lower the meshes count on toggles, and i would like to learn how to do that, could someone help me out?
So unity hates me and decided to randomly increase the file size of the model. So whats the best way to get 3 MBs of an avatar?
All textures have been crunch compressed with increased the file size.
Polygon and blendshape count also contribute to fil size
Is there a macro for this or are you just insane
I really want to know how to set these up, can I get a full res pic of it?
Anyone know what this problem is?
Poiyomi and standerd isn't supported its saying but every avi its works fine on i have no idea what to do
can someone help me upload a 3d model to vrchat so I can use it as a skin?
It says "hidden" so it might be a locked Poiyomi, go click on the material and if it says "unlock shader" at the top, do that and try again
No macro, just ADHD and severe lack of time management skills (even though I'm pretty sure it takes less time than individual animator layers).
When I get home I'll send the pic and the doc I used to learn it
Vrcfury supposedly has a blendtree automator that you could look into, but I just use it for gestures and applying gogoloco
Much appreciated! I'm sure I could set them up manually; I just need to "get" the logic of it and I could probably get a macro that converts existing controllers
@toxic needle just remember a bigger animation layer is not better then multiple once
That is literally not true
You need literally thousands of states and transitions to get even close to the performance impact of a single layer
And even if you manage to fill your layer to the point it causes enough frametime increase to contest a layer, splitting the logic across a second layer would literally make it worse
In every situation that you can afford to get rid of a layer, you should do iy
yep yep
If a layer can be combined with another one, do it
In this case they are exclusively 2 or 3-state toggles and hue shift type animations, exactly the situation the benchmarks are comparing
there's literally no situation I've seen/heard of where multiple layer would be better preforming that a single one, it's just that doing it in a single layer can be pretty feature limited comparatively.
but yea, don't take the dbt thing too far, there's def a point where it's just impractical to do everything in a dbt
is that a challenge? 
@amber hemlock here's the closeup
Direct blendtree -> direct blendtree (organisation level) -> 1d blend and toggle animations
wdym
when I say "too far" I'm only really talking about complexity and not amount though
:^ )
True, I am having some issue integrating some things into this
I'm not quite at your level, but yk, not too far off:
The lag
it's, horrific. I just navigate using the inspector now. Have only opened it to take this picture (which is like 3 pictures fused together)
eh yea it is lol. bigger more complex layers of animations will not only be more wasted resources it also takes up more download size etc. plus with only one layer you cant mask out parts of the avatar it should or should not affect.
and second. the only reason to use blend trees is to blend motions that are similar and do not require a mask for example
Bro has no idea what they're talking about
thats what you think lol
your opinion does not matter. facts does
Okay then show me the facts
google it
Nope you made the statement you have to prove it
not really
I'm not doing your research
nor am i doing yours
Well I made mine lol
you never did
I have all the numbers
which numbers
We know that layers are extremely performance heavy
States are not
Transitions are not
thats what you think
Layer masks do nothing to performance
oh they do
My guy
they mask out parts that should not be animated
You don't know what you're talking about
sure
You can test this in 2 minutes
go ahead and think that
You're talking big talk but having nothing to prove it
Spreading misinformation helps no one
You're actively hurting this games performance
and your just spreading misinformation lol
Nope
yep
Well here's the performance graph for layers
As you can see each layer increases frametime by a substantial amount
Keeping layer count as low as possible has highest priority
In comparison here's a single layer with a direct blendtree
If you combine layers into a single blendtree on a single layer, performance exponentially increases
the increase is neglectable
It is not
oh it is
nope
You're spreading misinformation
again no
nope
but your clearly spreading information that isnt correct.
you can even see it on the one you linked yourself
100 layers only takes up 0.003 ms. going to 200 its a small increase of 0.001 ms.
in total majority of people only have around 20-30 layers on average.
But it stacks....
obviously
You're loading all layers from all avatars in the instance
even with 40 people at 30 layers thats only 1200 layers
And even then, single layer is still more performance by a huge margin
You saying that it isnt
Is spreading misinformation
you can
thats not the point either.
If you wanna make an argument, you have to back it up with something other than "trust me bro" especially if you're going up against actual well researched data
why are bros arguing in #avatar-optimization 😭
We didn't spend months gathering this data just for someone to spread misinformation
Bro can't admit that he's wrong
That's the only issue
while i am not lol
go ahead make a single layer with 1000 + toggles and you can see how bad it is
states even.
it is lol
in editor makes it less valid
With different state and layer counts
I just said ingame
still does not matter. to that level.
In every single test, in every variation, ingame and in editor, the performance is always better with a single layer
hi
the difference between 40 people with 30 layers and 40 people with 29 layers and one with direct tree is neglectable at best
uploading something with crappy internet give me a moment <3
what in tarnation
DBT is supposed to replace multiple layers not just one
that is not the point either.
I did this
even if it replaced 10 layers
oh wow thanks discord
the difference is so small its not worth it
lovely compression
Delicious gif
that's a crunch gif
anyhow that scuffed gif/layer is thousands of transitions, states, conditions yada
I swear to god my name being common onomatopoeia is going to drive me insane one day
size on disk is quite a few MBs and lags in editor
On upload, it gets compressed to like ~300 kb, and doesn't cost any performance
Damn
hundreds of users have that kind of layer, and no one ever reported any performance issues to me
Unity wth are you doing in the editor
Trying to render all that
True
Yeah so basically that's where your wrong, and thats the issue
nope thats not wrong either
Red save your breath
You've already linked your research
https://notes.sleightly.dev/benchmarks/
Just because in a vacuum the difference is small, doesn't mean it should be neglected
It's still better performance
the difference in a 400 layer less vs 40 layers with direct tree is neglectable
Idk why this has to be argued further than that
not saying you shouldnt do it if you can but the difference is so small
Okay so? Still do it
use more time on other areas. first
dude plays on 30 frames just let him enjoy it lol
Telling people to NOT cut down on layers when they easily can, is harmful
And then saying shit like "actually multiple layers are MORE performant!" When it's clearly false, you're actively spreading misinformation that sacrifices performance
Hello, person who did the benchmarks here, it's not
there is no mis information.
I can show you the automated tests that indicate this, as well as the in game testing i've done to confirm this
You literally kept saying that more layers are more performant
by saying not saying you shouldnt do it are you pivoting your argument now from "big layers are worse than more layers" to "the difference is negligible"
nope
sure. think that.
Also, what if instead of reducing by one layer, everyone went to one layer
no the point was always neligible.
Only frequently used stickers too for some reason
good for you? want a cookie?
I’m pretty sure boosters get emoji perms
yeah but talking about regular users
But I have
I need nothing else
again all of that is true
in what universe
its LITERALLY false
The point is that it isn't true and you're harming the games performance by spreading misinformation
thats also false
Also wouldn’t using a layer mask affect performance?
nope
Hey would this channel be a good place to ask about avi megabytes on quest?
I more meant Unity would have to check the objects in the mask
Yeah
Here or #quest-optimization
i know, but i've tested it, and it's negligable
You refuse to state your sources, and you saying that blendtrees are only meant for "blending animations" you clearly showcase that you don't know what you're talking about
Huh
That very much is NOT true
yep
Ty yy
you refuse to actually understand the difference is so small that it does not matter.
Its literally not small holy feck.
Dear brother, they're either:
- Trolling you
- Trolling you
- God bless their soul
I recommend you guys just encourage reading your research, which you've made to actually save your breath from telling people constantly, and move on.
it really is lol
Yeah careful now, the bot is more sensitive than twitter
Did you run the benchmark tests? Did you go through the months of testing? Did you publish any documentation proving your point?
looking at the tests they did thats what i am using as reference
looking at the amount of layers vs blendtree
the difference is small.
Do you have any evidence to prove the opposite?
I've already concluded this dudes trolling like 10 minutes ago there's no way anyone's this dense
💀
Seriously. Stop spreading the misinformation, my guy. You aren't helping
ooga booga me no understand logic ooga booga
I was wondering if anyone had tips on quest optimization, i have an avatar that went from 24 megabytes to 14 but ofc we need it at 10. We have removed all exstra outfits and toggles and tried to turn down all the graphics for skin and clothing but were lost otherwise. Any tips?
again no mis information lol
your just to dense to read it lol
this I 100% agree with
however, if we spread good information, maybe someone else will do it too and then we have 28 vs 2
maybe after a while we have 5 vs 25
with 30 avatars, almost anything you do with your avatar is "negligible", but if we spread the word on how to properly optimise avatars, maybe those other avatars will also take steps to increased performance, leading to a better optimised game in the end
Im starting to think this guy is 14 and just cant read
how in the world is 0.016 ms vs 0.0060 massive? it is such a small difference that it wont add up to anything
0.006 adds up across 40 avatars
Because you have to stay below 16ms to reach 60fps
Dude, you need to learn basic math
0.016 is 800 layers in total.
(This is 0.24 seconds btw)
16 ms isn't a lot, your frame budget is very low. Every tiny bit of saved frametime very quickly adds up to... a higher framerate
Most of the size is usually textures. You can either downsize them, compress them, change their formats, etc...
Yeah, and how many people can be in an instance? How many layers can each person have?
(ms)
You think everyone is running single layer Avis? Most bases have a LOT
i see many avatars with 50-100 layers
are you that dense?
(Oh)
?
0.016 ms out of the 16ms you have available if you wanna reach 60fps is a lot if you consider all the other stuff that's going on at the same time
okay, let's say 50
50 * 0.016 ms = 0.8 ms
50 * 0.0060 ms = 0.3 ms
that's a difference of 1/30th of your entire frame budget for 60 fps, just for one aniamtor
no thats not how that works lol
💀
for single animators, it does
That. . .that's literally how it works
Dude literally said no to maths
Breaking news: maths doesn’t work
for multiple, it doesnt scale linearly, that I agree with
that 0.016 is 800 layers
not 50 lol
Wha. . .dude, no
Math has left the chat
You are a terrible troll
no?
800 layers on one animator is 0.016 seconds
not ms
with 800 layers on one animator you can't go above 60 fps
thats ms lol
my friend
i have an avatar with 800 layers on it
hop on vrc if you wanna see
my ign is jellejurre
and your likely blocked from it
🤨
...
No, cus I cloned it and tested it
Animator layers aren't part of performance stats
My brain is melting
I helped with the testing of all this data. . .
good for you. want a cookie?
💀
On a rig that normally gets 144 fps, I was dropped to 30
Nahhhhhh this is crazyyyyy
This is beyond dumb
not gonna happen. from 800 layers lol
Yes I would like a cookie. I just had dinner and I'm fitting up for some desert
You got any data to back that up??
eh yea? go in any public lol
I can send you the animator for it
you put it on your avatar in unity and go into play mode
enable all animators
see what happens
your frames wont drop to 30 from that
’lists tested facts'
"Nah man ain't true"
Block and move on lol
Can you prove us wrong? Or are you just gonna sit there with your fingers in your ears and tell us we are wrong.
are you just gonna sit there and say shit like a kid?
shh, this is entertaining
I literally helped Jelle test it multiple times. Both in VR and on desktop
good for you, want that cookie ?
And you think you have more credibility than the guys that wrote papers on it?
Keep in mind that if you want to hit 90FPS, you can't breach 11ms ACROSS THE ENTIRE SCENE. 40 people will fill that damn quick.
you quite litterly just said oh 800 layers dropped me from 144 to 30 fps
Which it did
i highly doubt it
And 1000 dropped me to about 15
What do you mean facts and research arent valid arguments?
if you dropped to 30 from 800 layers you would have less then 30 in every single 40+ instance.
Have you ever shown everyones avatar fully....
Gee, it's like I have that exact problem in major lobbies
his thinkies and feelies > ur facts and research. accept it nerds
in a instance of 40 people? yea i have
Separate layers across multiple avatars is not the same performance cost of separate layers on one avatar
depending on the world i would have 30-40 fps on average.
BASED
with everything on
dont care if you dont believe that
yanderedev hidden discord account discovered
This is somehow worse than yandere dev
dont care
you wish lol
🙃 my fucking god
With the way they've been talking, I'd be surprised if they are over 18. . .
Ah, they don't take in editor tests. They prove nothing apparently.
it does. editor has a overhead cost
No no, it's anything with tangible numbers
Self proclaimed game dev
Can't even count frametimes correctly
self proclaimed? lol. okay kiddo
i would be surprised if you were over 16 lol
going into personal assaults is fun shit isnt it
grow up man.
We literally saw the Unity background processes sitting at 0.4 ms to have the scene exist
Dude, you're the one spreading false info and getting called out for it by not just me.
nope
common HostileLogOut W
I mean, is someone else claiming it? like a company or official body?
'cause if not then it's self no?
You haven't posted a single shred of evidence
there's so many more people watching than I thought
And yet all of us rebutting you have even videos
and all you have done is posted pointless aggression lol
Even offered to show you in game.
never claimed anything
220 down to 60, on how many layers? 532?
This you?
said i dont believe your 800 layer going from 144 > 30
you dont need to believe it
This also you?
its right infront of your eyes my heavenly child
you literally went 180 on your statement
and here it goes again with your pointless assaults trying to taunt.
Hell nah not the victim card pull out of left field
Damn. Also your shadow gets an animator?
I knew shadows were really bad when it comes to performance already but running multiple animators?
@sudden jewel
Not a single person has agreed with you and we have hard evidence against your points.
no not really.
shadow + reflection
Not the Tupper tag 😭
Pfff
going on the full assault now are you?
well yeah reflections are just generally known to suck performance but still
yep
no no I meant that your reflection also has an animator
so x3 performance cost
!!!!
woah 
several people are typing...
keep that coming kids.
x3
Yeah that makes sense tho, it has to rerender the scene
don't you dare
But would caching the animator state… right memory allocation is also slow
Isn't even trying to prove their point anymore
which one? it's changed so many times
Cus you just tried to sound smart with no evidence. But when the people with the evidence and tangible proof came around, suddenly you turned around and played victim. . .
idk guys I'm really getting convinced. Maybe I should have many layers?
At least 100
hes gaslighting us
Let me just turn all my systems to individual layers
I'll easily hit 1000 with no downsides
hell nah not the wingman systems
VRCBlocks gonna be 2k
Surely there's gonna be NO lag

With 15 people all building in once instance
I’ve learned more about optimisation in this server than when I’m specifically looking for help
spf
un atlases your avi
seconds per frame
minutes per frame
I love having a slideshow on my face
do better then lol
Someone made an NES emulator that emulates individual transistors so that is possible
why...
idk Jelle that's cheating with so many extra layers and look how much over 30 you are
No inaccuracies if you emulate the bare metal
question to sate me being curious how many toggles or states is in each layer?
minecraft redstone computer type beat
2 states
He showed it before. It's a single toggle per layer
Or did you ignore that too?
wait i thought we debunked this
well yea lol
not really, any state transition to self does
Maybe I'm misremembering that specific part.
(which is what im running here in all honesty, without that it'd be 17% less frametime)
You mean I'm not supposed to admit when I'm wrong?
Absolutely not
Or even entertain the idea that someone knows something I don't?!
hostile my brother in arms, we have found their first mistake, NOW WE RISE
Blasphemy!
but still, the numbers themselves don't matter too much, what I want to show that layer count absolutely does matter

i do admit i saw 0.016 as ms for some reason lol.
I think a lot of people did
yeah, 0.016 ms wouldn't be a lot for 800 layers
just reading back
hence why i was so stern on it lol.
no hostile dont back down now! we were so close to a victory
cause i was like why the hell do you care about 0.0100 ms
I feel like I misread between ms and s like, 50 times that conversation
Glad you at least saw it.
Trust me I argue for comfort over optimization a lot when it comes to negligible numbers like that.
But this not negligible 👍
But you really should reconsider your stance. We've gotten so many tests in this for it to be false.
VRLabs have been oppressing us for too long, this was our chance for a revolution
These are hard numbers
Everyone kept saying ms I was sitting here doubting the shit outta myself trying to research if I was wrong xD
no yeah true
but yeah that's why we think blendtrees are important, lowering 60% of all that frametime can be hella nice
We strike from the shadows. VrLabs knows where it hurts
VrLabs scary 
true. but then again sometimes you just cant avoid having extra layers. if you want it to only affect some part of the avatar.
Of course not
That VRCBlocks I mentioned before? No blend trees
Since it has mostly parameter drivers
Which means blend trees don't work
like i dont know how many layers i would say is average on that end but maybe 2-4 ? if it just means the hands and something else
It's generally for basic toggles
And any optimization, no matter how small, is good
Plus, with the blend tree method, you can easily add on
no i was not really looking in discord lol i was looking at work related things
i assume you mean a new world or?
ahh
i think i saw that on twitter. i think
Possibly!
content is over :sadge:
Melon, allow me to be your content
ayo?
alot of content can come from just placing a 0 extra to make it less 😄
But yeah, there's definitely a time and a place for individual layers and blend trees. Generally in VRC, blend trees for toggles are better for optimization
i assume your doing some shader generated blocks instead of actual gameobjects? or how are you going to handle that many blocks.
compute blocks i mean
with vertex stream?
and your using that to place down the blocks to ?
The only complete avatar I used the Direct Blendtrees on so far went from about 80 to 30 layers. Drop from ~2.5 to ~1.5ms. Packing 50 layers into 1 felt pretty worth it even without tools to assist just knowing that. still got a lot of things to improve though
I'm using a custom grid snap along with the particles, yup
And you simply place with a gesture.
If you want, I'd be happy to DM you a video where I show it off
had no idea that the particle system could be used for that lol
i would always just end up doing compute block generation.
etc
Nope. I use texture sheet animations, grid snapping, and particles!
interesting way of going about it ngl
I'm working on releasing the 2.0 version of the system very soon
It works with co op now, along with other functions of the blocks
is compute shaders even a thing we can do in vrc yet?
Don't believe so?
I wouldn't know.
I'm not the best with advanced shaders tbh
I'm a mechanical guy
nor am i. not the best with geometry
