Guide

Performance

  • A frame is three calls however big the model is. Never look up ids per frame; do it once at load.
  • ay2d_drawables copies one small struct per mesh. The vertex data behind the pointers is not copied.
  • Upload UVs and triangles once; stream positions only for meshes with AY2D_CHANGED_POSITIONS.
  • Update work grows with the rig's keyforms and deformers; for a typical streaming model it is well under a millisecond on one core.
  • The frame calls do not allocate, with one exception: a playing composition samples its layers into a small map each update.