Performance - Protected/BetterBennett GitHub Wiki
The base version of the avatar has the following performance ranks:
-
🟡 Medium on PC Due to its complexity, the avatar was design to target the Medium rank. It should load in about a second on most modern PCs.
-
🔴 Poor on Android Due to the base avatar's polygon count post-decimation, the Android (Quest) version of the avatar targets an Android rank of Poor. (The same avatar version, unmodified, would rank Good on the PC).
Impostors are supported for users with hardware constraints.
VRChat's performance ranking is fairly naive in that it doesn't account for local-only features and toggles. Most features in this avatar are off by default, in such a way that the avatar is more lightweight to remote users than it appears . The user can also toggle off parts of the avatar in order to decrease resource usage.
The following tables detail how avatar limits are allocated to avatar functionality by category:
| Category | Meshes | |
|---|---|---|
| Main avatar | 3 skinned meshes (2 on Android) | Mesh separation is required on Android due to animator limitations (in VRChat's whitelisted shaders, parameters cannot be animated separately in separate materials when they are in the same mesh). On PC, it's used for subdividing the avatar's large amount of blendshapes into smaller sets. |
Local only features
|
1 mesh (HUD), 1 skinned mesh (shortcuts) | Objects are enabled for the local user when in use, and disabled when nothing requires them. |
Sword
|
1 mesh | Each prop has its own mesh, visible to PC users when the prop is deployed. |
Lucklight
|
1 skinned mesh | |
Steak
|
1 mesh |
| Category | Slots | |
|---|---|---|
| Main avatar | 5 slots (4 on Android) | The main avatar uses separate materials for the Body, Outfit, Hair and Eyes. This material separation is required due to animation and shader limitations. In addition, the PC version also uses a material slot for the Vision (on the Quest, the Vision is part of the Outfit and cannot be animated). These materials are always visible. |
Local only features
|
3 slots | Materials that are not visible to the remote user or Quest users include the HUD, Filters and Shortcuts panel materials. These materials may be persistently visible to the local user if their features are in use. Materials are swapped out otherwise. |
Sword
|
1 + 3 slots | The sword prop uses 1 permanent material slot when deployed. Hit and slash particle systems can use 3 more material slots when active. |
Lucklight
|
1 slot | The follower is a separate object, and therefore uses a material slot when deployed. |
Steak
|
1 slot | Like the follower, the steak is a separate object and uses a material slot. |
Fire particles
|
1 slot | When in use, the fire particle system adds another material slot to the mix. |
| Category | Components | |
|---|---|---|
| Main avatar | 10 components (8 on Android) | These drive the various dynamics in the avatar's clothes, as well as his hair. If an item of clothing with an associated PhysBone is disabled, the PhysBone is also disabled. All cosmetic PhysBones can be forcibly disabled under System features. |
Googly eyes
|
1 component | On PC, Googly Eyes use a PhysBone as a spring. |
Sword
|
2 components | The sword prop uses PhysBones for detecting slashing motions and deploying slashing effects. |
Lucklight
|
1 component | The lucklight's manually positionable flight target is mounted on a PhysBone. |
Steak
|
1 component | When deployed into world space, the Steak is mounted on a PhysBone for positioning. |
Measurements performed with Thry's Avatar VRAM calculator.
| Category | Estimated usage | |
|---|---|---|
| Main avatar | 63mb (on PC) | In its base state, the avatar costs 63mb of VRAM to PC users, which VRChat classifies as `Good`. Most of it is due to texture atlases for the Outfit and associated masks, including the Normal Map, which each have a 2048x2048px resolution (as provided by HoYoVerse). On Android, the Outfit atlas has been downscaled to 1024x1024px, cutting down on VRAM usage. Toggling clothing and body settings on and off has no additional cost. |
Props
|
2.5mb | The combined cost of all of the props is very low; they add less than 3mb of VRAM when they're all enabled. |
Shortcuts
|
0.75mb | The shortcuts panel has a negligible cost. |
HUD
|
4mb | The head-up display adds 4mb of VRAM to the local user when enabled, which include 512x512 pixel render textures for the cameras in the corner panel (note that the HUD is enabled by default, but if you disable it the setting will be saved.) |
Maximized cameras
|
8mb | Maximizing the avatar camera will swap to a high resolution render texture setup that adds a not insignificant 8mb of VRAM cost to the local user on top of the HUD cost. |
Local only features
Sword
Googly eyes