Only update y-range from L1 mxmn when last index in view

We still have to always keep track of the last max and min
though.
big_data_lines
Tyler Goodlet 2022-04-12 11:40:48 -04:00
parent cdc882657a
commit 5921d18d66
1 changed files with 19 additions and 7 deletions

View File

@ -382,6 +382,7 @@ def graphics_update_cycle(
i_diff > 0 # no new sample step i_diff > 0 # no new sample step
and xpx < 4 # chart is zoomed out very far and xpx < 4 # chart is zoomed out very far
and r >= i_step # the last datum isn't in view and r >= i_step # the last datum isn't in view
and liv
) )
or trigger_all or trigger_all
): ):
@ -399,7 +400,7 @@ def graphics_update_cycle(
if ( if (
(xpx < update_uppx or i_diff > 0) (xpx < update_uppx or i_diff > 0)
or trigger_all or trigger_all
and r >= i_step and liv
): ):
# TODO: make it so this doesn't have to be called # TODO: make it so this doesn't have to be called
# once the $vlm is up? # once the $vlm is up?
@ -549,7 +550,10 @@ def graphics_update_cycle(
l1.bid_label.fields['level']: l1.bid_label, l1.bid_label.fields['level']: l1.bid_label,
}.get(price) }.get(price)
if label is not None: if (
label is not None
# and liv
):
label.update_fields( label.update_fields(
{'level': price, 'size': size} {'level': price, 'size': size}
) )
@ -558,19 +562,27 @@ def graphics_update_cycle(
# the relevant L1 queue? # the relevant L1 queue?
# label.size -= size # label.size -= size
# elif ticktype in ('ask', 'asize'): elif (
elif typ in _tick_groups['asks']: typ in _tick_groups['asks']
# TODO: instead we could check if the price is in the
# y-view-range?
# and liv
):
l1.ask_label.update_fields({'level': price, 'size': size}) l1.ask_label.update_fields({'level': price, 'size': size})
# elif ticktype in ('bid', 'bsize'): elif (
elif typ in _tick_groups['bids']: typ in _tick_groups['bids']
# TODO: instead we could check if the price is in the
# y-view-range?
# and liv
):
l1.bid_label.update_fields({'level': price, 'size': size}) l1.bid_label.update_fields({'level': price, 'size': size})
# check for y-range re-size # check for y-range re-size
if ( if (
(mx > vars['last_mx']) or (mn < vars['last_mn']) (mx > vars['last_mx']) or (mn < vars['last_mn'])
and not chart._static_yrange == 'axis' and not chart._static_yrange == 'axis'
and r > i_step # the last datum is in view and liv
): ):
main_vb = chart.view main_vb = chart.view
if ( if (