140 likes | 151 Views
What’s taking so long?. Snapper Programming. 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
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 • …