Quick answer: Unity mesh deformation Burst job taking 12ms on mid-tier devices? The job runs single-threaded - convert to IJobParallelFor with appropriate batch size.
Skinned mesh deformation profiled fine in editor. On Android, it eats 70% of the frame budget.
Parallelize the job
public struct Deform : IJobParallelFor {
public void Execute(int i) {...}
}Schedule with batch size = vertexCount/8. Burst parallelism scales nearly linearly across CPU cores.
Tune batch size
Too small: scheduling overhead. Too large: imbalance. Test 32-256 on target devices.
Profile with the Job Profiler
Window > Analysis > Profiler > Jobs. Visualizes per-worker scheduling; imbalance is obvious.
“Single-threaded Burst is faster than C#. Parallel Burst is faster than single-threaded.”
When mesh deformation is the hot path, parallelize early. Mobile gains the most because mobile CPUs are the most parallel.