Skip to content
This repository has been archived by the owner on Jan 25, 2023. It is now read-only.

Fast rendering #3

Open
drom opened this issue Nov 1, 2018 · 3 comments
Open

Fast rendering #3

drom opened this issue Nov 1, 2018 · 3 comments

Comments

@drom
Copy link
Member

drom commented Nov 1, 2018

Timing diagram ( part of #5 ) can be constructed in vector form, but then need to be rendered into pixel accurate form to be useful.

Possible options:

  • SVG
  • Canvas
  • WebGL

Maps or 2D gaming rendering engines can be a good source of inspiration

@drom
Copy link
Member Author

drom commented Nov 2, 2018

from: @DrSensor #1

For fast rendering, how about using different implementation depend on the density of the data?
For example, use SVG when there are fewer lines to be rendered and switch to WebGL if there is a huge amount of lines.

@drom drom mentioned this issue Nov 2, 2018
@drom
Copy link
Member Author

drom commented Nov 3, 2018

My current ideas about Fast rendering:

  1. divide all diagram into rectangular tiles
  2. first, render the tiles included into viewfinder [ Viewfinder #11 ]
  3. then render the tiles around for faster scroll/zoom [ Zoomable & Scrollable #2 ]
  4. keep the LRU cache of pre-rendered tiles

Tile rendering:

  1. create a set of useful building blocks (skin) SVG -> raster
  2. compose bigger blocks by hierarchical rectangle copy process.
  3. render tiles from the hierarchy of building blocks.

@drom drom added the Idea 💡 label Nov 4, 2018
@drom drom mentioned this issue Nov 7, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant