1 PRISAD: A Partitioned Rendering Infrastructure for Scalable Accordion Drawing James Slack,...

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

    22-Dec-2015
  • Category

    Documents

  • view

    219
  • download

    1

Transcript of 1 PRISAD: A Partitioned Rendering Infrastructure for Scalable Accordion Drawing James Slack,...

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

1

PRISAD: A Partitioned Rendering Infrastructure for Scalable Accordion Drawing

James Slack, Kristian Hildebrand, Tamara Munzner

University of British ColumbiaImager

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

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]

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

3

PRITree

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

4

PRITree: InfoVis Contest Dataset

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

5

PRISeq

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

6

Guaranteed Visibility

• Marks are always visible• Easy with small datasets

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

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

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

8

Guaranteed Visibility: Small Items

• Naïve culling may not draw all marked items

GV no GV

Guaranteed visibilityof marks

No guaranteed visibility

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

9

Guaranteed Visibility: Small Items

• Naïve culling may not draw all marked items

GV no GV

Guaranteed visibilityof marks

No guaranteed visibility

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

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]

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

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]

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

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

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

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

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

14

Split line hierarchy

• Data structure supports navigation, picking, drawing• Two interpretations

– Linear ordering

– Hierarchical subdivision

A B C D E F

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

15

PRISAD Architecture

World-space discretization• Preprocessing

• Initializing data structures• Placing geometry

Screen-space rendering• Frame updating

• Analyzing navigation state• Drawing geometry

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

16

World-space Discretization

Interplay between infrastructure and application

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

17

4

2

• Application-specific layout of dataset– Non-overlapping objects

• Initialize PRISAD split line hierarchies– Objects aligned by split lines

Laying Out & Initializing

A A C C

A T T T68

12

34 5

97

4

5

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

18

Gridding• Each geometric object assigned its four

encompassing split line boundaries

A A C C

A T T T

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

19

Mapping

• PRITree mapping initializes leaf references– Bidirectional O(1) reference between leaves and

split lines

13

468

25

973

4

12

5

84

95

63

52

21 Map

68

25

9

Split line Leaf index

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

20

Screen-space RenderingControl flow to draw each frame

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

21

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

1234

5

[1,2]

[3,4]

[5]

{ [1,2], [3,4], [5] }

Queue of ranges

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

22

Seeding

• Reordering range queue result from partition– Marked regions get priority in queue

• Drawn first to provide landmarks

1234

5

[1,2]

[3,4]

[5]

{ [1,2], [3,4], [5] }

{ [3,4], [5], [1,2] }

Ordered queue

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

23

Drawing Single Range

• Each enqueued object range drawn according to application geometry– Selection for trees– Aggregation for sequences

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

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

1234

5

[3,4]{ [3,4], [5], [1,2] }

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

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

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

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

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

27

PRITree Skeleton• Guaranteed visibility of marked subtrees during

progressive rendering

First frame: one path per marked group

Full scene: entire marked subtrees

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

28

PRISeq Range Drawing: Aggregation

• Aggregate range to select box color for each sequence– Random select to break ties

A A C C

A T T T

[1,4]

A

T

[1,4]

T T T C T

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

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

T

T

T

A

{ A:[1,1], T:[2,3] }

1

2

3

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

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

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

31

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

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

32

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

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

33

PRITree Rendering Time PerformanceTreeJuxtaposer renders all nodes for star trees

• Branching factor k leads to O(k) performanceInfoVis 2003 Contest dataset• 5x rendering speedupA closer look at the fastest rendering times

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

34

PRITree handles 4 million nodes in under 0.4 seconds• TreeJuxtaposer takes twice as long to render 1 million nodes

Detailed Rendering Time PerformanceTreeJuxtaposer valley from overculling

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

35

Memory Performance1GB difference for InfoVis contest comparison

• Marked range storage changes improve scalabilityLinear memory usage for both applications

• 4-5x more efficient for synthetic datasets

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

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

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

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

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

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

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

39

More Information

• Software, papers, videos– http://olduvai.sourceforge.net

• PRITree and PRISeq• Requires Java, OpenGL