Update to the number of triangles in the performance ranks
lilxyzw
Current problems
Almost all avatars have a performance rank of "Very Poor," making it virtually impossible to block avatars based on their performance rank. This means that blocking based on polygon count or texture size, which directly impact performance, is currently impossible. While other blocking methods exist, such as blocking by download size or uncompressed size, these are insufficient alternatives as they are also affected by texture compression settings and the size of other assets.
As a side note, because the performance ranking system is effectively non-functional and has no limitations, the polygon count of avatars and costumes sold on BOOTH seems to be increasing year after year without limit. Recently, commonly used avatars have approximately 150,000 tris, and costumes have approximately 200,000 tris.
Request details
I think the triangle count in the performance ranking system needs to be updated. Currently, all grades below "Good" have a uniform polygon count of 70,000. This limitation is a bit excessive for current hardware.
Remarks
I have conducted some (very simple) testing in the past. I believe that optimizing to under 300,000 tris is sufficient for instances like talking with a small number of friends, and under 70,000 tris for large instances like events. The testing was done with a single avatar, but I created a tool to ensure that each mesh is a separate asset for the testing.
I'll leave the final updated figures to the VRChat staff, but I have roughly the following figures in mind.
Poor: 300,000 tris
Medium: 150,000 tris
Good: 70,000 tris
Related posts
日本語 / Japanese
現在の問題
ほとんど全てのアバターのパフォーマンスランクがVery Poorであるため、パフォーマンスランクを使用したアバターのブロックが事実上できない状態になっています。つまり現在は負荷に直結するポリゴン数やテクスチャサイズでのブロックが不可能です。他のブロック手段としてダウンロードサイズ、非圧縮サイズによるブロックも存在しますが、テクスチャの圧縮設定やテクスチャ以外のアセットサイズによっても変動するため代替とするには不十分です。
余談ですが、パフォーマンスランキングシステムが事実上機能しておらず制限も存在しないため、BOOTHで販売されているアバターや衣装のポリゴン数が年々際限なく増え続けているようです。最近よく使われているアバターのポリゴン数はおよそ15万ポリゴン、衣装はおよそ20万ポリゴンになっています。
リクエスト内容
パフォーマンスランキングシステムのトライアングル数をアップデートする必要があると思います。現在ではGood以下は一律7万ポリゴンです。この制限は現在のハードウェアにとっては少し過剰です。
備考
私は過去に(非常に単純な)検証を行いました。少人数のフレンドと会話するようなインスタンスでは30万ポリゴン以下、イベントなどの大人数インスタンスでは7万ポリゴン以下を目安に最適化すれば十分であると考えています。検証は単一のアバターで行われていますが、メッシュはそれぞれ別アセットになるようにツールを作成して検証しています。
更新後の数値の決定はVRChatのスタッフにおまかせしますが、私は大まかに以下の数値をイメージしています。
Poor: 300,000 tris
Medium: 150,000 tris
Good: 70,000 tris
関連する投稿
Log In
Yargon
Medium at 70k as it is is fine imo.
However, raising the ranks to have some more granularity i think is important. Performance ranks are not only unhelpful but are actively ignored by a large number of users as it is, and that's what needs addressing. I think one of the main causes for this is that there's no practical difference between medium and very poor on the thing most people struggle with optimising.
Even raising Poor to 80k and Very poor to 90k could be a huge difference to that without meaningfully impacting performance.
Desmoulins
I agree that the ranks should be more granular but I'd still keep them relatively strict. 70k, 100k for medium, 125k for poor. This alone would make a lot of avatars that dropped instantly into very-poor for a few too many polygons go back to a more reasonable medium or even poor while not giving a free pass on badly optimized avatars for now.
AvatarRepo
I'm going to suggest something I heard from someone else but don't see suggested here
Why not add a poly count limit between static and skinned meshes while upping the total poly count limit with both mesh types together?
Static meshes are far less demanding than skinned mesh. Though worth benchmarking just how much more less demanding they are to create logical max poly counts
So something like, doesnt have to be these values or ranking specifically:
-Good rank
Max poly count: 175k split between static and skinned
Max static mesh poly count: 95k
Max skinned mesh poly count: 80k
At least if we can figure out proper ratios for each ratings, Static poly limit should be higher than skinned, all while making the skinned poly limit slightly higher than the original limit for that performance level and also higher than its previous perf rank
The reason I suggest skinned meshes max poly count is slightly higher than its original limit and slightly higher than its previous perf rank is so any previously optimized avatars for their respective ranks dont all suddenly gain +2 perf rank and so avatars that have very poor because of its poly count only, but shouldnt, goes a rank or 2 down, but also give us a bit more polys to work with on an already optimized skinned mesh and more stuff to add on a basic meshes without breaking the rating and without giving ourselves headaches.
Dont take my word as is though, this is just an idea I wanted out there and possibly expanded on by people more knowledgeable than me.
Personally I feel this would also push makers to learn how to manage meshes properly, and no longer punish makers who do actually optimize their work
Edit:
Turned this idea into a slightly more fleshed out post if anyone feels this needs attention https://feedback.vrchat.com/feature-requests/p/seperate-max-polycounts-for-basic-and-skinned-meshes-increase-from-current-rank
なし(nashinomure)
Considering current users behavior, raising the limits will only lead to a never-ending cycle.
lilxyzw
It seems unlikely that a feature to filter by polygon count will be implemented. Well, I thought so.
lilxyzw
When applying performance rankings to group instances, it seems inappropriate to set values based on a uniform assumption of 80 users. Shouldn't we revise the criteria to allow for limiting performance based on the scale of events, for example, "Good" for 80 users, "Medium" for 40 users, and "Poor" for 20 users?
LylacSky
I can see a reasonable argument to raise the tri count for poor avis but 300k is absurdly higher than needed... I can see an argument for 100k but not 300k
__TEE__
If they're going to introduce avatar performance gated instances, I think it's important to create a system that fairly ranks modern avatars. The current performance ranking was made so long ago that it no longer properly reflects the environment of the game. I agree that you should have more fine control over what your system blocks. But the fact that a light 2mb avatar can be ranked as very poor in the same category as a 4k texture full world screen effect avatar is absurd. One of these would obviously cause issues in a large venue world, and the other wouldn't. Especially as the average power of peoples computers is improving with time.
Ericbazinga
The problem is people don't optimize their avatars and avatar creators don't optimize their bases. 70k is perfectly reasonable, and most bases aim for 30-40k polys to give users room to add clothes and accessories before hitting the 70k limit.
I'd also argue that if this system were to be implemented, it should be far stricter.
Good: 70k polys
Medium: 100k polys
Poor: 150k polys
Very Poor: 200k polys
Shaun
I think more granular control over perf blocking would be the best solution. Let people set their own thresholds for poly count, material count, lights, physbones, etc etc. If any of them goes over the user-set limit, bam avatar is perf blocked and you get an imposter.
As a bonus, this could be extended to instance moderators. Then you can set up automatically enforced limits for your events, anybody wearing an avatar that crosses those limits will just be globally changed to an imposter for everybody there
Load More
→