Commit Graph

62 Commits (d8bf45b02d98e7160e44ba67a86dd5999dabc7df)

Author SHA1 Message Date
Tyler Goodlet 1c49f7f47f Tweak dash pattern to be less sparse 2022-02-08 15:57:02 -05:00
Tyler Goodlet 4b7d1fb35b Add line style via `str` style name to our fast curve 2022-02-07 12:53:30 -05:00
Tyler Goodlet 16dfc75ad0 Add guard for "last step" rect 2022-01-25 07:57:01 -05:00
Tyler Goodlet 18859e1b8c Add detailed comments, comment out fill mode 2021-12-07 16:10:33 -05:00
Tyler Goodlet a2659d1fde Only update curve lengths on non-negative index diffs 2021-11-12 16:03:23 -05:00
Tyler Goodlet 95bf522b48 Always draw a last step line with px width=2 2021-11-12 16:03:23 -05:00
Tyler Goodlet 5bf8e6a90e Use filled rect for current step
A `QRectF` is easier to make and draw (i think?) so use that and fill it
on volume events for decent sleek real-time look. Adjust the step array
generator to allow for an endpoints flag. Comment and/or clean out all
the old path filling calls that gave us perf issues..
2021-11-12 16:03:23 -05:00
Tyler Goodlet 0876d2f4fe Bleh, try a bunch of stuff for step filling
Turns out the performance of updating and refilling step curves > 1k ish
points is super slow :sadkek:. Disabling the fill basically returns
normal performance, so it seems maybe we'll stick with unfilled volume
"bars" for now. The other tricky bit is getting the path to extend and
fill which is particularly slow if you use the `QPainterPath.united()`
(what `+` set op does) operation which seems to require an entire redraw
of the curve each paint iteration. Removing the pixel buffer cache makes
things that much worse too..

One technique i tried was only setting a `._fill` flag when so many
datums are in view (< 1k as determined by the chart widget), and this
helps, but under high load (trade rates) you still see more lag then
without the fill which makes me say screw it and let's stick with
unfilled bars for now. Trying go to get performant filled curves will be
an exercise for an aspiring graphics eng :P
2021-11-12 16:03:23 -05:00
Tyler Goodlet c378a56b29 Add last step updates and path fill support 2021-11-12 16:03:23 -05:00
Tyler Goodlet 4cf51ffb1e Draft 'step' curve; couldn't get pg builtin to work 2021-11-12 16:03:23 -05:00
Tyler Goodlet 61f3ce43b3 Toss in references step mode impl 2021-11-12 16:03:23 -05:00
Tyler Goodlet 62dd327ef3 Drop `_graphics` subpkg; flat is better then nested 2021-09-05 13:59:40 -04:00