Since Jamovi's front-end interface is using web technology, which is good for fast development, but there're a lot of trap which slow down the program, like triggering repaint/layout (checkout https://gist.github.com/paulirish/5d52fb081b3570c81e3a).
Shortly, the animation of modifying the width and height of any DOM element will trigger layout, which impact the rendering performance a lot, that happened when you open "setup" panel, dragging the divider between data grid and report area.
This could be solved by some tricky solution, like:
1. When clicking the setup button
* don't expand the top panel with animated height
* show the panel directly, give an animation to its content (search "Slide down in" in https://developer.microsoft.com/en-us/f ... web/motion), the animation is implemented with CSS transform which won't trigger layout
* People would still feel it's slide down from the top, but with out trigger layout frequently, the interface is less laggy.
2. When dragging the divider between data grid and data report
* don't adjust the with of both side dynamically
* show a gray bar that indicate the new position of divider, when `mouseup` triggered, adjust the width of both side
* note: implement the movement of the "gray bar" with CSS `transform` props (or `canvas` element) but not `left` props
btw, similar problem happens when users switch between columns whith "setup" panel, adding new filter, open files panel, settings panel, module manager.
It's only some suggestion for the development team, really hope it will help
