Skip to content
This repository has been archived by the owner on Mar 18, 2023. It is now read-only.

Proposed List View implementation styles

erichocean edited this page Mar 15, 2012 · 2 revisions

Various list implementations are possible in Blossom, ordered here top-to-bottom from best performance/memory usage to worst performance/memory usage.

SC.View-like

  1. Rows share canvas surface, renderRow() function, all rows rendered, non-incremental.

  2. Rows share canvas surface, renderRow() function, some rows rendered, incremental.

  3. Rows share canvas surface, layers rendered to shared canvas, all rows rendered, non-incremental,

  4. Rows share canvas surface, layers rendered to shared canvas, some rows rendered, incremental.

  5. Rows share canvas surface, layers rendered to own canvas, all rows rendered, non-incremental,

  6. Rows share canvas surface, layers rendered to own canvas, some rows rendered, incremental.

SC.Surface-like with SC.Views as rows

  1. Each row is an SC.View with a shared canvas, layers render to shared canvas, all rows rendered, non-incremental.

  2. Each row is an SC.View with a shared canvas, layers render to shared canvas, some rows rendered, incremental.

  3. Each row is an SC.View with a shared canvas, layers render to own canvas, all rows rendered, non-incremental.

  4. Each row is an SC.View with a shared canvas, layers render to own canvas, some rows rendered, incremental.

  5. Each row is an SC.View with own canvas, layers render to view's canvas, all rows rendered, non-incremental.

  6. Each row is an SC.View with own canvas, layers render to view's canvas, some rows rendered, incremental.

  7. Each row is an SC.View with own canvas, layers render to own canvas, all rows rendered, non-incremental.

  8. Each row is an SC.View with own canvas, layers render to own canvas, some rows rendered, incremental.

Lists with SC.Surfaces

  1. Each row is its own surface, can be any arbitrary surface type.