overview - archive.fosdem.org€¦ · 4d realtime charting markus mohrhard 20130201 fosdem 2014....
TRANSCRIPT
![Page 1: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/1.jpg)
4D realtime charting
Markus Mohrhard
20130201
FOSDEM 2014
![Page 2: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/2.jpg)
Overview
![Page 3: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/3.jpg)
3 / 24 Event Name | Your Name
What is “4D realtime charting”
● time based charting
● 3+ dimensions without time
![Page 4: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/4.jpg)
4 / 24 Event Name | Your Name
Implementation parts
● Property Mapping
● Time based approach in Calc/Chart2
● new rendering backend
![Page 5: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/5.jpg)
5 / 24 Event Name | Your Name
Property Mapping
Adding more dimensions to our charts
![Page 6: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/6.jpg)
6 / 24 Event Name | Your Name
Idea
● Use properties and vary value
● Map value to property value
● Makes chart more flexible
![Page 7: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/7.jpg)
7 / 24 Event Name | Your Name
Implementation
● New data series for properties
● Functor to map cell value(double) to property value
● Overwrites hard properties
![Page 8: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/8.jpg)
8 / 24 Event Name | Your Name
Example
![Page 9: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/9.jpg)
9 / 24 Event Name | Your Name
Time based charting
Dynamically change your charts
![Page 10: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/10.jpg)
10 / 24 Event Name | Your Name
Idea
● Animate charts through another dimension
● Each point in time is represented by a new data set
● Interpolate values between data sets
![Page 11: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/11.jpg)
11 / 24 Event Name | Your Name
Implementation
● Sheets represent points in time
● Always keep two points cached in chart2● Interpolate between two points● Interpolate mapped properties
● Timer that triggers repaint of chart every few ms
![Page 12: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/12.jpg)
12 / 24 Event Name | Your Name
Example
![Page 13: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/13.jpg)
13 / 24 Event Name | Your Name
Problems
● Rendering too slow!!!
● Getting data through UNO is slow
● Destroy cache in calc with sheet switch
![Page 14: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/14.jpg)
14 / 24 Event Name | Your Name
OpenGL backend for charts
A new experimental renderer
![Page 15: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/15.jpg)
15 / 24 Event Name | Your Name
Idea
● Use GPU for graphic processing● Avoid our own slow rendering code● Abstract rendering●
![Page 16: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/16.jpg)
16 / 24 Event Name | Your Name
Implementation
● moved all direct createInstance calls into factory
● created AbstractShapeFactory● normal ShapeFactory● new OpenglShapeFactory
● return Dummy objects in OpenGL case● store state for rendering
![Page 17: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/17.jpg)
17 / 24 Event Name | Your Name
Implementation
● New OpenGL initialization code● Works currently on Linux and Windows● Do you have a Mac and some time?
● Vertex and Fragment shaders● OpenGL 3.0+ and GLSL 1.20+
● Offscreen rendering to FBO● Get Image and put back into
drawinglayer
![Page 18: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/18.jpg)
18 / 24 Event Name | Your Name
Typical shader
● Shader = program for the GPU
![Page 19: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/19.jpg)
19 / 24 Event Name | Your Name
Example
Don’t look too closely. Still some work to do.
![Page 20: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/20.jpg)
20 / 24 Event Name | Your Name
Problems
● Text rendering● Positioning● Selection of elements, …● OpenGL on Linux
● CentOS 5.0●
![Page 21: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/21.jpg)
21 / 24 Event Name | Your Name
Future
What we have planned and crazy ideas
![Page 22: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/22.jpg)
22 / 24 Event Name | Your Name
Future chart
● File format work● Improve OpenGL renderer● Usability improvements● Switch to OpenGL renderer by default (?)● More performance work
![Page 23: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/23.jpg)
23 / 24 Event Name | Your Name
Future rest of code
● Integrate OpenGL context creation code into VCL/(?)
● Replace existing OpenGL code with new code (programmable pipeline)
● Mac work● OpenGL ES for Android/IOS (?)
![Page 24: Overview - archive.fosdem.org€¦ · 4D realtime charting Markus Mohrhard 20130201 FOSDEM 2014. Overview. 3 / 24 Event Name | Your Name What is “4D realtime charting](https://reader035.vdocuments.mx/reader035/viewer/2022071018/5fd1b2be6ced020b824004da/html5/thumbnails/24.jpg)
24 / 24 Event Name | Your Name
Thanks
● AMD● MCW● TDF● Collabora● everyone who fixed my mess