Examples / 20,000 Photos Performance · 120fps
20,000 Photos preview

A native performance showcase (examples/photo_grid). Build it with the SDK and run ./build/photo_grid — press Space for the continuous auto-scroll.

20,000 Photos

Twenty thousand photos in a virtualized grid with spring-driven scroll and pinch-zoom, holding 120fps with a bounded LRU texture cache. Only the visible set is ever touched — per-frame cost is a function of the screen, not the collection.

  • Virtualized culling (working set bounded)
  • Bounded LRU GPU texture cache
  • Spring scroll + pinch zoom
  • 5.3× headroom under the 120fps budget

A native performance showcase (examples/photo_grid). Build it with the SDK and run ./build/photo_grid — press Space for the continuous auto-scroll.

photo-grid.vel vel
 // examples/photo_grid/PhotoGrid.h  spring scroll + virtualized cull
Motion<float> scroll_;                 // velocity-preserving spring
void onScroll(Point, float, float dy) override {
  scroll_.springTo(clamp(scroll_.target() - dy*60, 0, maxScroll_),
                   springs::gentle);   // silky inertial fling
}
// only the visible rows are decoded + drawn; the ImageCache LRU
// evicts off-screen textures so VRAM stays flat at 20k photos.