1 / 39

PRISAD: A Partitioned Rendering Infrastructure for Scalable Accordion Drawing

PRISAD: A Partitioned Rendering Infrastructure for Scalable Accordion Drawing. James Slack, Kristian Hildebrand, Tamara Munzner University of British Columbia. Imager. Accordion Drawing (AD). Rubber-sheet navigation Stretch part of surface, the rest squishes Borders nailed down

blenda
Download Presentation

PRISAD: A Partitioned Rendering Infrastructure for Scalable Accordion Drawing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PRISAD: A Partitioned Rendering Infrastructure for Scalable Accordion Drawing James Slack, Kristian Hildebrand, Tamara Munzner University of British Columbia Imager

  2. Accordion Drawing (AD) Rubber-sheet navigation Stretch part of surface, the rest squishes Borders nailed down A Focus+Context technique [Robertson et al 1991][Sarkar et al 1993] Guaranteed visibility Marks always visible Important for scalability [Munzner et al 2003]

  3. PRITree

  4. PRITree: InfoVis Contest Dataset

  5. PRISeq

  6. Guaranteed Visibility Marks are always visible Easy with small datasets

  7. Guaranteed Visibility Challenges Hard with larger datasets A mark could be invisible Outside the window Solution: constrained navigation Underneath other marks Solution: avoid 3D Smaller than a pixel Solution: smart culling

  8. Guaranteed Visibility: Small Items Naïve culling may not draw all marked items GV no GV Guaranteed visibility of marks No guaranteed visibility

  9. Guaranteed Visibility: Small Items Naïve culling may not draw all marked items GV no GV Guaranteed visibility of marks No guaranteed visibility

  10. Related Work TreeJuxtaposer Side-by-side tree comparison First AD application Up to 500k tree nodes [Munzner et al. 2003] SequenceJuxtaposer DNA sequence comparison Pre-aligned A,C,G,T data Up to 2M nucleotides [Slack et al. 2004]

  11. Related Work TJC/TJC-Q Scalability Up to 15 million node trees Rendering in under 0.3 seconds TJC: hardware supported picking Limitations Non-generic: AD inseparable from tree Poor performance on bushy trees No support for multiple-tree comparison [Beermann et al. 2005]

  12. Goals of PRISAD Generic AD infrastructure Tree and sequence applications PRITree is TreeJuxtaposer using PRISAD PRISeq is SequenceJuxtaposer using PRISAD Efficiency Faster rendering: minimize overdrawing Smaller memory footprint Correctness Rendering with no gaps: eliminate overculling

  13. PRISAD Navigation • Generic navigation infrastructure • Application independent • Uses deformable grid • Split lines • Grid lines define object boundaries • Horizontal and vertical separate • Independently movable • As in TJC

  14. Split line hierarchy • Data structure supports navigation, picking, drawing • Two interpretations • Linear ordering • Hierarchical subdivision A B C D E F

  15. PRISAD Architecture • World-space discretization • Preprocessing • Initializing data structures • Placing geometry • Screen-space rendering • Frame updating • Analyzing navigation state • Drawing geometry

  16. World-space Discretization Interplay between infrastructure and application

  17. 2 4 5 5 2 1 3 6 7 8 4 9 4 Laying Out & Initializing • Application-specific layout of dataset • Non-overlapping objects • Initialize PRISAD split line hierarchies • Objects aligned by split lines A A C C A T T T

  18. Gridding • Each geometric object assigned its four encompassing split line boundaries A A C C A T T T

  19. 1 2 Map 2 5 2 2 1 5 3 6 5 2 6 6 3 4 8 8 8 4 9 9 5 5 9 Mapping • PRITree mapping initializes leaf references • Bidirectional O(1) reference between leaves and split lines Split line Leaf index 4 1 3 7

  20. Screen-space Rendering Control flow to draw each frame

  21. 1 [1,2] 2 3 { [1,2], [3,4], [5] } [3,4] 4 5 [5] Partitioning • Partition object set into bite-sized ranges • Using current split line screen-space positions • Required for every frame • Subdivision stops if region smaller than 1 pixel • Or if range contains only 1 object Queue of ranges

  22. 1 [1,2] 2 { [1,2], [3,4], [5] } 3 [3,4] 4 { [3,4], [5], [1,2] } Ordered queue 5 [5] Seeding • Reordering range queue result from partition • Marked regions get priority in queue • Drawn first to provide landmarks

  23. Drawing Single Range • Each enqueued object range drawn according to application geometry • Selection for trees • Aggregation for sequences

  24. PRITree Range Drawing • Select suitable leaf in each range • Draw path from leaf to the root • Ascent-based tree drawing • Efficiency: minimize overdrawing • Only draw one path per range 1 2 { [3,4], [5], [1,2] } 3 [3,4] 4 5

  25. Rendering Dense Regions Correctness: eliminate overculling Bad leaf choices would result in misleading gaps Efficiency: maximize partition size to reduce rendering Too much reduction would result in gaps Intended rendering Partition size too big

  26. Rendering Dense Regions Correctness: eliminate overculling Bad leaf choices would result in misleading gaps Efficiency: maximize partition size to reduce rendering Too much reduction would result in gaps Intended rendering Partition size too big

  27. PRITree Skeleton Guaranteed visibility of marked subtrees during progressive rendering First frame: one path per marked group Full scene: entire marked subtrees

  28. PRISeq Range Drawing: Aggregation • Aggregate range to select box color for each sequence • Random select to break ties [1,4] [1,4] A A C C A A T T T T C T T T T

  29. PRISeq Range Drawing • Collect identical nucleotides in column • Form single box to represent identical objects • Attach to split line hierarchy cache • Lazy evaluation • Draw vertical column { A:[1,1], T:[2,3] } 1 A A 2 T T 3 T

  30. PRISAD Performance • PRITree vs. TreeJuxtaposer (TJ) • Synthetic and real datasets • Complete binary trees • Lowest branching factor • Regular structure • Star trees • Highest possible branching factor

  31. InfoVis Contest Benchmarks • Two 190k node trees • Directly compare TJ and PT

  32. OpenDirectory benchmarks • Two 480k node trees • Too large for TJ

  33. PRITree Rendering Time Performance • TreeJuxtaposer renders all nodes for star trees • Branching factor k leads to O(k) performance • InfoVis 2003 Contest dataset • 5x rendering speedup A closer look at the fastest rendering times

  34. Detailed Rendering Time Performance • PRITree handles 4 million nodes in under 0.4 seconds • TreeJuxtaposer takes twice as long to render 1 million nodes TreeJuxtaposer valley from overculling

  35. Memory Performance • 1GB difference for InfoVis contest comparison • Marked range storage changes improve scalability • Linear memory usage for both applications • 4-5x more efficient for synthetic datasets

  36. Performance Comparison • PRITree vs. TreeJuxtaposer • Detailed benchmarks against identical TJ functionality • 5x faster, 8x smaller footprint • PRITree vs. TJC/TJC-Q • TJC on exotic HW: 4x smaller, 2x faster • TJC-Q on commodity HW: same size, no speed given • Both mostly tested on balanced binary trees • Unlimited overdrawing possible in bushy areas vs. PT bound • PRISeq vs. SequenceJuxtaposer (SJ) • 15x rendering speedup • 20x improvement in memory footprint

  37. Future Work • Future work • Editing and annotating datasets • PRISAD support for application specific actions • Logging, replay, undo, other user actions • Develop process or template for building applications

  38. Conclusions PRISAD infrastructure for efficient, correct, and generic accordion drawing Efficient and correct rendering Screen-space partitioning tightly bounds overdrawing and eliminates overculling First generic AD infrastructure PRITree renders 5x faster than TJ PRISeq renders 20x larger datasets than SJ

  39. More Information Software, papers, videos http://olduvai.sourceforge.net PRITree and PRISeq Requires Java, OpenGL

More Related