• Solly Ross's avatar
    Avoid Creating Small Objects Frequently · d1800d09
    Solly Ross authored
    Creating lots of small objects frequently can drastically decrease
    performance.  This commit introduces three fixes which avoid this:
    
    - Use a preallocated palette and indexed-to-rgb destination Typed Array
      (the destination typed array is currently allocated at `4 * width *
      height`).
    
    - Inline `getTightCLength`, which returned a two-item array.
    
    - Pass RGBX data directly in a Typed Array to the Display, which
      avoids an extra loop, and only creates a new Typed Array View,
      instead of a whole new ArrayBuffer.
    d1800d09
display.js 29.2 KB