Shader Performance

Here is a vertex colored shader im using.

My plan is using it for mobile devices.

But im not completely sure if its optimized enough?

Is there anything i can change to make it faster for mobiles?

Shader "Custom/Vertex Colored Diffuse"
	{

    SubShader {
        Tags { "RenderType"="Opaque" }
     
    CGPROGRAM
    #pragma surface surf Lambert vertex:vert
     
    struct Input {
        float3 vertColor;
    };
     
    void vert (inout appdata_full v, out Input o) {
        UNITY_INITIALIZE_OUTPUT(Input, o);
        o.vertColor = v.color;
    }
     
    void surf (Input IN, inout SurfaceOutput o) {
        o.Albedo = IN.vertColor;
    }
    ENDCG
    }
     
    Fallback "Diffuse"
    }

http://docs.unity3d.com/Manual/SL-ShaderPerformance.html

Surface Shaders are great for writing shaders that interact with lighting. However, their default options are tuned for “general case”. In many cases, you can tweak them to make shaders run faster or at least be smaller… [see link for more]

For optimal performance, I would drop the ‘surface’ macro rewrite the vertex/fragment programs.