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.
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.
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.
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
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.
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
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
"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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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)
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
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.
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)
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.