Performance considerations w.r.t. highly interactive plots (scatterplots) and large data sets

I’m trying to visualize relatively larg data sets (up to approx. shape of 1000 rows and 50000-1000000 cols) with highly interactive scatterplots (selection events, click events, etc.). The rapid prototyping runtime environment is JupyterNotebook + FigureWidget + Widgets on a powerful laptop. However the production runtime environment will be limited to a single machine as well (running the app on a server is no option right now). Scattergl worked quite fine as long as I did not need interaction. To beeing able to build in more interaction I had to switch to Scatter. With JupyterNotebook + FigureWidget the response time becomes already unacceptable. How does JupyterNotebook+FigureWidget compare with visualizing figures in JupyterLab, a dash app or a streamlit app? Are there patterns how to improve responsiveness (e.g. decreasing data size displayed in case no zooming, limitation of displayed data to selected data via zooming)?

Related posts:

Relevant references: