Disable overlay scaling on per-symbol-feed updates

Since each symbol's feed is multiplexed by quote key (an fqsn), we can
avoid scaling overlay curves on any single update, presuming each quote
driven cycle will trigger **only** the specific symbol's curve.

Also disables fsp `.interact_graphics_cycle()` calls for now since it
seems they aren't really that critical to and we should be using the
same technique as above (doing incremental y-range checks/updates) for
FSPs as well.
storage_cli
Tyler Goodlet 2023-02-06 17:29:00 -05:00
parent 83f50af485
commit 858429cfcd
1 changed files with 7 additions and 7 deletions

View File

@ -727,10 +727,10 @@ def graphics_update_cycle(
main_vb._ic is None main_vb._ic is None
or not main_vb._ic.is_set() or not main_vb._ic.is_set()
): ):
# print(f'SETTING Y-mxmx -> {main_viz.name}: {(mn, mx)}') print(f'SETTING Y-mxmx -> {main_viz.name}: {(mn, mx)}')
main_vb.interact_graphics_cycle( main_vb.interact_graphics_cycle(
# do_overlay_scaling=False,
do_linked_charts=False, do_linked_charts=False,
do_overlay_scaling=False,
yranges={main_viz: (mn, mx)}, yranges={main_viz: (mn, mx)},
) )
profiler('main vb y-autorange') profiler('main vb y-autorange')
@ -858,14 +858,13 @@ def graphics_update_cycle(
# vlm_yr = (0, mx_vlm_in_view * 1.375) # vlm_yr = (0, mx_vlm_in_view * 1.375)
main_vlm_viz.plot.vb.interact_graphics_cycle( main_vlm_viz.plot.vb.interact_graphics_cycle(
# do_overlay_scaling=False, do_overlay_scaling=False,
do_linked_charts=False, do_linked_charts=False,
) )
profiler('`vlm_chart.view.interact_graphics_cycle()`') profiler('`vlm_chart.view.interact_graphics_cycle()`')
# update all downstream FSPs # update all downstream FSPs
for curve_name, viz in vlm_vizs.items(): for curve_name, viz in vlm_vizs.items():
if curve_name == 'volume': if curve_name == 'volume':
continue continue
@ -890,9 +889,10 @@ def graphics_update_cycle(
# XXX: without this we get completely # XXX: without this we get completely
# mangled/empty vlm display subchart.. # mangled/empty vlm display subchart..
fvb = viz.plot.vb fvb = viz.plot.vb
fvb.interact_graphics_cycle( # fvb.interact_graphics_cycle(
do_linked_charts=False, # do_linked_charts=False,
) # do_overlay_scaling=False,
# )
profiler( profiler(
f'Viz[{viz.name}].plot.vb.interact_graphics_cycle()`' f'Viz[{viz.name}].plot.vb.interact_graphics_cycle()`'
) )