Continuing the discussion from the GX-80 thread here to avoid too much topic confusion…
I did a bit of experimenting
Overall, Cantabile is set to 120% UI scaling and GPU accelerated rendering
HiDPI disabled
SurgeXT
- window displayed correctly, but fuzzy
- zoom remembered correctly
- pop-up menus within plugin correct
- window dragging initially smooth, but becomes very flickery after changing the zoom within the plugin. Closing and re-opening fixes the issue for the current size; flickering re-appears after changing zoom again
GX-80
- Window displayed correctly, but fuzzy
- zoom setting recalled correctly
- hover tooltips and pop-up menus correct
- dragging the window mostly unproblomatic - on one occasion, the window still shrunk, but haven’t been able to reproduce that
HiDPI enabled, plugin up-scaling enabled for both plugins (compatibility)
Surge XT
- window displayed correctly, but fuzzy
- window dragging unproblematic
- window zoom recalled correctly
- pop-up menus within the plugin GUI out of whack
- drawn at larger size initially, then immediately re-drawn at smaller size
- menu selection seems to be bound to large size, so menu selection doesn’t follow the mouse position on the smaller menu - menus very difficult to use, sometimes unusable
GX-80
- window displays correctly; labels fuzzy, but workable
- window dragging OK, but at some zoom factors, GUI “wobbles” - looks like a vertical compression that is applied on moving, then corrected. For some reason doesn’t happen at zoom 110 and 80…
- some redrawing issues on tooltip popups - initially don’t get drawn, then when I change the value, the tooltips do get drawn but then don’t go away until you move the window or hover over other elements
- massive drawing issues with the preset selection menu (try selecting “All Presets” and scrolling the list to the right…)
HiDPI enabled (without upscaling plugins)
Surge XT
- Window displayed correctly, nice and sharp
- all pop-up menus within the GUI display and work correctly
- resizing the window via bottom right corner doesn’t work - keeps shrinking back
- when selecting a zoom factor via menu, scales correctly
- window size not recalled correctly on opening: zoomed to 100%, closed, re-opened at 64%
- window size even shrinks when Cantabile loses and re-gains the focus: set size to 100%, switch to a different program (browser), go back to the main Cantabile window → plugin window is already smaller (80%). On clicking on the plugin GUI, it shrinks again, down to 64%
- dragging the window makes it shrink continuously, down to ridiculous size, where it is near impossible to find the button to zoom it back to 100%
- docking the plugin GUI makes it display correctly, without all the resizing. Just means I’m constrained to the Cantabile GUI footprint and can’t have Cantabile and the plugin windows side by side, which is far more convenient on my large 4K screen.
GX-80
- window displayed correctly, nice and sharp
- pop-up menus and tooltips displaying correctly
- resizing window via bottom right corner causes a bit of flickering back and forth between sizes, but works somehow
- resizing via zoom menu works
- window sizes not recalled correctly: zoomed to 100%, recalled to 64%
- same issue as Surge regarding focus loss: started at 100%, switched to browser, clicked the GX80 window → shrinks to 80%. When switching to browser, then first activating Cantabile, then clicking plugin GUI, shrinks twice → 64%
- dragging the window makes it shrink continuously, but apparently the plugin won’t shrink below 45%, so that’s the minimum. When dragging a 45% zoom window, Cantabile still tries to scale it down, but the plugin scales back out.
Overall, it looks like in Hi DPI mode, Cantabile interprets the window size information it gets from the plugin differently from the plugin’s intention, causing it to shrink the window in size by a factor of 0.8. The plugin in turn reacts to the resizing of the window by reporting a different size back to Cantabile, and the cycle starts over. This seems to happen on every re-draw of the window.
So if Cantabile and the plugin could agree on a common understanding of the window size, this should enable both to work together nicely, I think.
After all, this is full HiDPI mode, with no “individual upscaling” of windows, so that mechanism shouldn’t come into play. Everything should be nice and HiDPI
Generally, I try to stay away from the plugin upscaling mode - it creates a lot of issues with pop-up menus within plugin GUIs. As long as a GUI just consists of a few sliders and knobs, things work out, but as soon as things get complicated, it gets messy. Maybe not really worth the hassle and development complication - perhaps it would be easier to just have two simple modes: HiDPI on or off. Just thinking out loud…
Hope this helps!
Cheers,
Torsten