Performance Rank adjustments to better reflect actual performance
Gireison
Hi,
we all know it, the performance rank system which should be seen as a ranking system for an avatar performance. However I see some issues with actually making proper use of it in crowded lobbies, since the "Very Poor" ranking does get branded onto an avatar way too quickly in my opinion, making it very difficult to find the correct avatar to hide in such cases, since I have to manually look into each ones stats to figure out who is overdoing it.
I am specifically talking about the polygon limit in this case. The "70k eat or die very poor ranking" does not reflect if the avatar is actually bad for you or not. I will attach two screenshots, where you see one medium ranked and one very poor ranked avatars of mine with their stats, where you can see that the "very poor" avatar is less demanding on the GPU.
A possible solution for this topic for example could be, that you adjust the performance rating in a manner, where you do a "Combined polygon" count and a " allowed blendshaped polygons" one, since you already mention "Blendshape separation" in your optimization guides.
While I cant name exact numbers of course and one has to look into what is actually reasonable, one could for example do something like this (abs* = allowed blend shaped), again, I just throw in numbers as an example:
Excellent:
Polys: 32k
abs*: 32k
Good:
Polys: 70k
abs*: 35k
Medium:
Polys: 100k
abs*: 35k
Poor:
Polys: 200k
abs*: 40k
This adjustment would make the polygon category of the performance rank tiered like every other category already is.
Since this post ist already pretty long, I will write about another potential category as short as I can. Since avatar's texture qualities and sizes are increasing a ton, maybe adding a "VRAM Usage" category would be helpfull as well. The shown "Very poor" avatar is running at about 120MB with everything enabled, while I saw others with far more than 500MB. (Numbers again out of thrys evaluation tool)
Photo Viewer
View photos in a modal
Log In
Lenrui
Alternatively, a better option is to calculate how long the avatar's get processed by the cpu/gpu based on draw calls, the longer it takes to perform 1 subframe, the worse performance penalty gets. idealy, the calculation should be based on the lowest gpu denominator ie nvidia geforce rtx 2050 by simulation.
Selrac
The other solution would be if VRChat could have a server run an automated test on uploaded avatars and assign a rating then. Basic test would be load avatar into a test instance and run a few actions
-input a pre-recorded mo-cap sequence for FBT/half body
-input pre-recorded desktop input sequence
-input audio to emulate voice (triggering face blend shapes)
Have the server record information such as number of draw calls, VRAM usage, RAM usage, etc. Then they can add the test results to a page the user can access along with the values that trigger very poor.
This would ensure its a single hardware set so multiple avatars can have a common benchmark.
Gireison
Selrac: that would of course be the best, but at the same time i guess the capacity to do this with that amount of user generated contend would be very costly :x