The Avatar Performance Ranking should be tweaked again for PC

The idea of the Avatar Perf Ranking on paper is a great idea. But as it currently stands its lacking in a few areas. Iv often called this system a house build on the sand of a beach, Great idea but shaky and faulty fountations.
A more properly thought out line of metrics for each rank would help the game out when it comes to its known issue of being “unoptimized” and “running bad” when people can properly start to filter out avatars that do cause issue.
The only way to do that is via the system in place which has glaring issues when it comes to overal “guidlines” the VRC team wants with even a basic level understanding of how this game handles varryed metrics.

The main one being that Texture Memory limits are still way too high, While its fantastic that its now a part of an avatar that is being checked finally. The team added in these limits way to loosely for someone like myself to see it as anything but a bandaid fix to help remove people from crashing rave/party events.
Like im sorry but we genuinely dont need 2k textures on everything even less 4k textures (single texture file models beside). The typical VRC player doesnt have the hardware too keep up with that level of VRAM useage causing them to lag.
Expecting naturally the typical player to have good settings to even try and police what gets downloaded/shown or not isnt extactly the best path and should be just limited more harshly… I genuinely think most threshholds for Texture Memory could be cut down by a third or even half from what their current standings are. Even if i know this would bump my own personal Avi’s back up to Poor or even Very Poor i think this is a good idea.
This metric should be added to the SDK as well given you currently need to use 3rd party tools to even check your VRAM useage or load into the game to check, Its silly this mertic hasnt been added to the SDK UI yet.
I as well know that current as im writing this the team is finally adding the Avatar Perf ranking to the server held infomation of the avatar so blocking Poor/Very Poor avatars doesnt cause them to download still, This will be a massive boon to the game even more so if more tight restrictions get added to the game.

Polygons, Lets be real this can and should be loosened up and 100% could be with stricter Texture Memory limits and even caps*, I dont think jumping the gun and doing anything silly like tripling it is a good idea. But i think even bumping it by 30k would help bring more creative freedom to the talented creators and kitbashers among us without drasticly affecting performance.

Add FX layers to the Ranking system as well, Or Total Animations being used in Layers. This one i wouldnt know a threshhold but the VRC Devs should be aware that this metric being hidden is quite a big oversight to some level as this stuff can and will affect ones Frametime and CPU useage.

*I as well think there should just be a hard cut off for how big an Avatar can be in total size and/or VRam useage to upload it, I would say 100MB Total size and 150MB of Texture memory would be these threshholds.
I would even say takeing an aproch with just flatout not allowing avatars to even upload with 4K and above Texture files would be a good step in even forcing a harsher limit in stated changes in Texture memory Limit.

I wont deny i have a hard drive for optimization of Avatars and just wish the Pref Ranking system incourged more proper optimization and understanding of performance drains from the typical Avatar creator.
The game shouldnt get a bad rep for running bad when we are mostly at fault for it when we have been allowed to run rampant with exessivly bloated and unoptimized avatars.

Even in the VRC Documentation it is written verbatum.
“Although the Performance Rank system does as best as it can to judge the “worst case” scenario of an avatar’s performance, there are many ways to have a well-optimized avatar appear as Very Poor, and have a FPS hog rank as Excellent.”
I personally am in the standpoint that with the current limits on what can be what rank, It doesnt do a very good job at all.
If bounch of Meduim can lag me and my friends noticeable due to glaring issues i can see with just the Avatar Perf Rankings but someone in a Very Poor doesnt.
It shows some faults in the system.

I haven’t been following the performance stuff closely, but one bug for the texture ram measurement is that it only counts the initial material. So if I load in with a 1k texture and a swap option has 4k the avatar can use more RAM than posted.

One thing the unoptimized avatar have going for them is they’re easily adjusted.

When VRChat starts accounting for VRAM usage of the mesh, one idea that would be possible is to have a VRAM budget in the game, any avatar over the limit has highest resolutions removed from VRAM

My explanation of that needs more work, but to be super verbose I mean that with 4k textures if mip maps are on, there is a version of texture at each power of 2, so from 2k all the way to a 1x1 image. The base image is mip level 0 in the editor, and so the 2k resolution is mip level 1. As part of following a VRAM budget, only load in to a certain point.

Unity itself has mip streaming, but the engine might not be set up for people to disagree on things. For mip streaming unity has a priority, and VRChat would probably have to customize and enforce certain values. Like if the number can be negative, the maximum for avatar should probably be 0.

VRChat has to handle people setting things wrong on purpose, like at some point mip maps need to be required, otherwise I could just use 4k texture for each eye ball or if I do mipmap with streaming I give myself maximum priority, because I consider myself the main character.

Actually the reason for unity engine to have priority is probably actually for the main character. Of a single player video game.

Just as extra bonus information, Quest had never officially had avatar sounds, and VRChat has had to remove it at least twice.

I think VRChat will continue to add information to the performance system, constraints count, some sort of blendshapes and polygon consideration, shader performance.

70k triangles is so many triangles. That’s far more than modern AAA character models. What would you do with more that can’t be captured with normal maps? Perhaps clothes/accessories? There’s probably a better way to handle something like that in performance measuring than just naïvely upping the tri limit.

Stop subdiving your base meshes so much :rofl:

Some people can do some incredible things by kit bashing, but that doesn’t change the fact that kit bashing inherently results in inefficient avatars.

You absolutely cannot hard-limit 4k textures. That makes it very hard to meaningfully atlas an avatars texture set. This will have the oppose effect of improving VRAM usage and overall performance.

Ya people can do some incredible things kit bashing, im one of these people.
Im not speaking from some unknowning point of view, Iv kit bashed my avi from hell and back, Realtas’s and re-UV mapped it all.

Hard limiting 4k textures could be abit much i will admit, but 8k textures need to go, theres no reason for them beside the like tiny amount of people useing a Pimax headset

I genuinely know what im on about.

What exactly is the point in restricting textures based on resolution when you have a tool that measures the negative effect of a poor texture setup directly? It seems redundant.

An 8k texture compressed DXT1 uses about 42.6mb—hardly an unreasonable amount. A 4gb video card from 2015 could fit over 80 avatars using an 8k texture. There are use-cases for an 8k texture, and the memory usage and overall performance of that avatar could be kept quite reasonable.

Headset resolution is irrelevant.

The point of restricting textures is the utter lack of the avg users PC being able to even run most avi’s.
You clearly dont understand how scaling with people works. I shall now not be responding to you as you dont get why this game runs bad.

Huh? Are you implying that most PCs don’t support 8k textures and that most avatars use 8k textures, or that somehow having an avatar with an 8k texture prevents others from working? Your comment is unclear and ambiguous.

…What even is the average users PC specs?

I justified my response. You have not yours. “I just know” doesn’t count.

The reason I have issue here is that I frequently use 8k textures for my atlases, and my things generally end up using less than a third of your proposed maximum VRAM usage. Restricting 8k textures would necessitate using multiple 4k textures, saving no VRAM and degrading performance.

In other words: your proposal risks worsening VRChats performance.

With a 70k triangle (which you think is too low) and one 8k texture capturing important high-frequency data (which you seem to think should be outright blocked), and 40 players, you have:

40*70k = 2.8 million real time deformed triangles (this is absurd. think about it - 2.8 million trianges, with each vertices’ position, normal, and tangent being multiplied by four 4x4 matrices… eurgh)
43mb * 40 = 1.720gb VRAM usage, easily within VRChat’s minimum requirements