140 likes | 161 Views
Dive into the world of Snapper Programming in this comprehensive guide covering memory management, objects vs values, animations, and more. Discover key features like Insert, Select, Snap, Stretch, and Render, and learn how to optimize performance with BSP and efficient algorithms. Master the art of Snapper Programming for enhanced graphics development.
E N D
What’s taking so long? Snapper Programming Linköping, November 4, 2008 / Staffan
System fundamentals • Memory, gc, heap, stack • Objects vs values • Cost and abstraction • Snappers • Animations • ...
Features - What do we need to do? • Insert • Select • Snap • Stretch • Parts • Print • Render
Features - What do we need to do? • Insert • Select • Snap • Stretch • Parts • Print • Render BSP
Features - What do we need to do? • Insert • Select • Snap • Stretch • Parts • Print • Render Neighbors
Features - What do we need to do? • Insert • Select • Snap • Stretch • Parts • Print • Render Graphics
BSP (binary space partitioning) • Space.snappers? (Snapper[]) • Cant do linear search! • Limit search • Depends on fast snapper local bound • ...
Bottlenecks • Memory • Geometry (lines & triangles) • Local bound & BSP • Snapping & invalidation • The evil neighbors • Parts, hooks & other hazards • Undo system / what’s being copied • Drawings / what’s being streamed • …
General concepts for efficiency • Do it only once 1 : Caching • Do it only once 2 : Invalidation • Do it only if it’s necessary (vs rebuild all) • Structure (know what you are doing, be in control) • Algorithms and data structures • …