being spent within the frame • Understand how WebGL content is rendered • Recognize how WebGL works • Optimize how the scene is drawn • Keep work within the animation loop
all work ◦ 60 knots frames per second • Missing that window results in a dropped frame ◦ Hurts the user experience • Other things can cut into the frame time ◦ Garbage collector ◦ Browser events
time is being spent in a frame ◦ Sampling profiler ▪ Chrome DevTools ◦ Structural profiler ▪ chrome://tracing ▪ Web Tracing Framework • Place markers at different sections
the state ◦ Rendering context ◦ Objects ▪ Textures ▪ Shader programs ▪ Buffers • A call that results in no changes to the underlying object is a redundant call
is a task ◦ Text creation is divided into multiple tasks • Need to time box resource loading ◦ Ensure the rest of the application has time to update ◦ Imperfect as a task cannot be preempted • Total time used is set by the application