VRChat 2019.3.1p2, build number 845

(Pretty sure i first noticed this issue early this year)


Windows 10 Enterprise

i7 4790k 4.4ghz

Asrock z97 pro4

GTX 980 ti 1286mhz

ddr3 2600mhz

Tested with Oculus Rift&Desktop

(Tested with lipsync&blink)

1.More polys on the skinned mesh containing the active blendshape comes at a very significant cost

2.Normals and Tangents contribute to the performance loss which is derived from polys hence more polys=bad (they both contribute a significant cost)

3.even if you have zero normals and tangents it will still affect performance just at less of a cost

4.the difference between 10k and 20k polys is quite significant (perhaps the issue is linked to that)

5.Separating meshes for blendshapes to reduce polycount for active blendshapes helps significantly

6.Mirrors and cameras recalculate it

7.the quantity of shapekeys and vertex groups seem to make a negligible difference "if any"

8.Performance loss isn't local

tldr. ActiveBlendShape+ManyPolys=bad

Steps for reproduction:

1.have a 60k poly skinned mesh with an active blendshape (doesn't have to be 60k but higher the more obvious the loss)

2.disable any active blendshapes and you should see a gain

(Blink will always be active if your mesh is named "Body" and has shapekeys)

// more Mirrors will give you an easy to see result

theoretically or from what i've read about blendshapes it shouldn't be creating much of an impact if any

Ultimately this loss could be "working as intended" but i doubt it

// Image with the correct formatting for the post https://cdn.discordapp.com/attachments/608876139716411392/618647212867715082/Discord_2GOI7luFj6.png