[680] Count "Not Important" Point Light separatly from other Lights
kawashirov
I suggest to count Light with "Type" = "Point" and "Render Mode" = "Not Important" separatly from other varians of Lights.
That's because Not Important Point Lights are extremely cheap and (if supported by shader) in Forward rendering that type of light is rendered in main (ForwardBase) pass in vertex mode w/o any extra overhead on drawcalls. If it's not supported by shader, that type of light is ignored.
See:
https://docs.unity3d.com/2017.4/Documentation/Manual/RenderTech-ForwardRendering.html ( What is "Not Important" )
https://docs.unity3d.com/2017.4/Documentation/Manual/SL-UnityShaderVariables.html ( unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0, unity_4LightAtten0, unity_LightColor )
https://docs.unity3d.com/2017.4/Documentation/Manual/SL-BuiltinFunctions.html ( float3 Shade4PointLights (...) )
I think this type of lights can be good trade-off betwen light accuracy and performance and can be used in "Good" ranks.
This also can motivate avatar creators to use shaders that support all unity lighting features and can motivate shader creators to implement "Not Important" mode in their shaders.
Log In
kawashirov
Bump. I still believe it's relevant.
Tupper - VRChat Head of Community
Merged in a post:
Update performance ranking to distinguish between per-pixel lights and vertex lights
Urnsheme
currently, if your avatar has any lights on it, it will be set to poor, but this is misleading, because if you set the light source to not important it will become a vertex light which is virtually free in terms of performance impact.