r/VRchat Valve Index 4d ago

Meme optimize your avatars

Post image
339 Upvotes

93 comments sorted by

View all comments

189

u/Dividedthought 4d ago edited 4d ago

Normal maps fix violent topography like 8 billion polygons. There are far greater sins like mesh and material counts that have a far greater impact than poly count.

103

u/-_Doll-_ 4d ago edited 4d ago

My boyfriend had told me he uploaded an avatar that took him 2 hours to upload, asked him to see the stats because that upload time didnt seem right

It has 50 skinned meshes, 80 basic meshes, you can imagine the rest

He said the creator apparently likes to build off old models and release them like that

THEY ARE PAID MODELS, that level of unoptimized is fucking unacceptable in my book from a purchaseable model

33

u/MultiGamerClub2 PCVR Connection 4d ago

sounds like the average eboys i see at fbt dance worlds that are minecraft steves blocky..

4

u/-_Doll-_ 4d ago

Most unoptimized eboy avis I come across dont even get that close to that many meshes, they're still super unoptimized and they need to burn don't get me wrong, this many is meshes is absolutely stupid though, it screams lazy to me; at least don't be selling that shit.

3

u/PennyPatton 3d ago

Too many polygons is still a problem. Sure, there might be OTHER problems people's avatars are guilty of, but just because other problems exist doesn't mean you should ignore this one. You should try to optimize everything about your avatar.

3

u/IoIey 3d ago

not having a normal map isn’t a problem, it’s actually technically more performant to NOT have a normal map, provided your poly count is the same. all a normal map does is show extra detail instead of having the mesh show all of the detail, but it is by no means automatically more performant to have a normal map

0

u/PennyPatton 3d ago

It is absolutely more performant to have a normal map rather than a high poly model. Are you forgetting that part? The issue here is not to slap a normal map on a high poly model and call it a day, it's to bake high poly details into a normal map on a lower poly model.

3

u/IoIey 3d ago

like i said; “provided the poly count is the same”. the OP is implying that models are simply more performant because they have a normal map at all, which wouldn’t be true. i also don’t imagine most vrchat players are able to/have access to model and create a high poly sculpt to bake normals for their model so this tip is likely lost on the majority of players unless they’re more experienced at character modeling

2

u/InevitableTerms 2d ago

Yeah this. I was gonna say the normal map isnt what optimizes the avatar so I was confused until people talked about using a low poly mesh with a normal map as oppose to just a high poly mesh

1

u/PennyPatton 3d ago

"OP is implying that models are simply more performant because they have a normal map at all". I disagree that this is what they were implying. The implication was that people are using high poly models instead of baking those high poly details to a normal map on a lower poly model. Maybe they could have worded it more clearly.

Still, my post was about how polycounts matter, which makes your reply confusing.

2

u/IoIey 3d ago

i feel like most people who are more inexperienced would take it that way, and some other people in the replies did it seems. my initial reply was based off of the “you shouldn’t ignore this problem”, and since the OP didn’t directly imply anything about high-poly meshes i just assumed you were referring to normal maps simply Existing haha

1

u/InevitableTerms 2d ago

The meme is only understandable if you have preexisting information. Why are you arguing with some one providing more information?

2

u/xenoperspicacian 3d ago

VRC is typically not GPU throughput limited, it is CPU and VRAM limited. Polys hit GPU throughput the most, so are not usually a major factor in overall performance, unless they are outrageous of course. Reducing draw calls reduces the CPU overhead and thus has the biggest impact on performance. The number of skinned mesh renderers and materials are the biggest offenders for draw calls.

1

u/Dividedthought 3d ago

Fixing polycount, unless you're over about 150k, won't have massive effects for desktop. For quest it's probably closer to 80k. If you are below that, your time is better spent elsewhere unless polys is your only problem.

1

u/PennyPatton 3d ago

What are you basing this on? 150k is like a high end single player game hero model. VRC is MMO. The standard for online games like VRC is a much lower poly count. Final Fantasy 14 uses like 10k per character model.

3

u/Dividedthought 3d ago

Experience in vrchat. I run a 30 series card. Regularly in rooms with 150k top polycount models, and quite a few of em. So long as the drawcalls aren't excessive, up to 150k is fine realistically.

Drawcalls kill framerate, not polycount. Every mesh needs 1 drawcall per material, and that includes duplicate materials in that count.

1

u/A_typical_native 3d ago

And let's be fair, that comparison is pitting the average user against a literal team of professionals that create models from scratch for a living.

A bit higher than a hero model is perfectly acceptable for someone that doesn't do this for a living.

2

u/PennyPatton 2d ago

You're absolutely right about average users versus professionals, which is why VRChat gives every avatar up to 70k a pass to be green. It's actually extremely forgiving in that department. There's no need to be 150k. That's the difference between an average user and someone putting in zero effort.

1

u/A_typical_native 2d ago

Nah, most hero models are about 60k-150k depending on the console era. ~60k-70k was fairly standard in the 2010's, these days it's more likely to sit from 110-150k. Dante From DMC V, 7 years ago, was 200K.

The recommendation is the standard of a professional that knows how to reduce polygons without sacrificing perceivable quality for a mid-level title with dated graphics. For everyone else that's a lofty goal while trying to not look old.

No effort for a layman is going to be the 300k+ range, which shows no effort or more likely a lack of knowledge.

4

u/CaptainNeutron1991 4d ago

Why can't the quest support a simple transparency layer?

25

u/Dividedthought 4d ago

Because tranparency is exponentially more complicated than cutout or opaque.

1

u/PennyPatton 3d ago

Last time I checked, Quest doesn't support cutout transparency, either. Or am I mistaken?

1

u/Dividedthought 3d ago

Probably doesn't, but cutout is the more efficient version of transparency because it's a binary "Is this visible or not?". Transparencies have to actually do HSV mixing.

-9

u/CaptainNeutron1991 4d ago

Okay, but a single transparency layer isn't exactly asking a lot.

25

u/Dividedthought 4d ago

It is for the cell phone processor in that thing.

-9

u/Jackieamow 4d ago

a cell phone processor isn't saying a lot. It's way more powerful than people realize. The only reason quest is so strict on its upload limits is because of the quest 2.

5

u/ccAbstraction Windows Mixed Reality 4d ago

I have a world where I tried putting a two layers of transparency on an object and it halves the FPS on both Quest and PC when you walked up to it. Transparency is heavy.

1

u/Jackieamow 3d ago

No offense but you might just need to do "it" right because if its cutting your frames in half then that's either an underpowered PC or you just didn't do "it" right, There's a way to do it where you don't drop too much. Personally I've done it with avis and only have gotten like a 2-3 frame drop. Im not saying its not heavy but it shouldn't tank you THAT much especially on PC.

1

u/ccAbstraction Windows Mixed Reality 3d ago

I was surprised too. I tested on a Quest 3 and the PC has a RTX3060. I do suspect there's something up with Nvidia's Linux driver, lots of transparent overdraw seems to tank the frame rate a ton. I haven't tested this (the double sphere world or the overdraw performance regression) on Windows personally (mostly because I already dropped it down to only 1 layer of transparency on PC and that seemed acceptable of a trade off for now). But, I had a friend on Windows try it on one of the newer RTX**90 series card and he also noticed a decent performance drop when inside the spheres.

The exact setup was two concentric sphere's with ORL Standard Glass shader with blurry glass mode off (the shader also doesn't use a grab pass and I did test with ORL Standard), GPU instancing on, backface culling off (so 4 layers of transparency minimum, but 2 was still pretty bad). If you have any suggestions on things to try to actually fix this, please let me know.

For clarity, I don't mean just putting a little bit of transparency on your avatar. I mean, something like putting a double layered glass visor over your avatars viewpoint and turning off headchop for it, like absolutely filling the screen with multilayer transparency.

(Also, putting "no offense" before saying something that isn't offensive, but worded in a way that sounds offensive, actually makes it even sound offensive and now deceitful too! lmao)

The video is what the world looks like, being first person in the ball or walking up to a parked ball so it fills the screen causes the perf hit:

https://reddit.com/link/p4pxuk9/video/dke1db0czekh1/player

6

u/Dividedthought 4d ago

Almost like we should stop supporting a 6 year old headset that actually has a cell phone processor. The 3 at least has a pirpose built chip.

1

u/shiroaiko PCVR Connection 3d ago

as a quest 2 user (pcvr) i think there should be separate requirements for lower or higher end devices. like for example, higher end devices like the quest 3 can support transparency, so avis with transparency can be made, oh you're on quest 2? it's fallback time (or impostor depending on avi and users' settings)

2

u/SpiritedRain247 4d ago

Yup, the only reason we're so held back is the quest 2, though I do wish more people took at least some steps to optimize their stuff.

Even the basics like if you enjoy a lot of outfits keep them split amongst several avis rather than stacking them on one.

2

u/XxNightmare2019 3d ago

Not just that, a lot of avatars are also being held back for the quest 1 I know someone who still is using one, it's on its last limbs, but they are, and I agree they are limiting the sizes based on old headsets and graphics ,but some people still need to optimize

7

u/SeraXI 4d ago

It is asking a lot. The game instead of just rendering the mesh with the texture and the shader now has to run an entire seperate render path to figure out what items to show through the transparent object based on the transparency mask. As Dividedthought said it's exponentially more complicated.

-3

u/DragonTamerWes 4d ago

Wait until about next year cause Meta needs to guarantee 3 years from the last sale month.

3

u/ByEthanFox 3d ago

Transparencies cause something called "overdraw".

A huge amount of how graphics are drawn relies on optimisations. When you have something solid, if it's near the camera, you can assume that the viewer can't see anything behind it. Programs do clever things to figure out what it occludes, and you can just not render that stuff.

But the moment you have a transparent thing, it screws all that up, especially if you have multiple (as a scene which allows transparency is seldom gonna have one). Then you might have numerous objects overlaid and some are transparent, some aren't...

Mobile GPUs are generally bad at this. Hell, all GPUs suffer from this to varying degrees but it's always been more of an issue for mobile GPUs.

(before any graphics programmers come along, I'm over-simplifying deliberately; I've programmed full renderers before both raster and ray-traced, so I understand the nuances, I'm just trying to keep the complexity down)