High-DPI not working
See original GitHub issueI’m trying to use the high-dpi mode of Squeak 6.0 but whenever I open or move SqueakJS on a high-DPI screen, the VM seems to scale up the entire canvas instead of informing the image about the new scale factor via primitiveScreenScaleFactor
(which always fails right now).
Shouldn’t pixelation already work? I tried something like
https://9090-codefrau-squeakjs-39cuvd00s49.ws-eu53.gitpod.io/run/#pixelated=true&image=/FreshTrunk.image
https://9090-codefrau-squeakjs-39cuvd00s49.ws-eu53.gitpod.io/run/#pixelated=false&image=/FreshTrunk.image
But there was no visible difference.
Issue Analytics
- State:
- Created a year ago
- Comments:9 (6 by maintainers)
Top Results From Across the Web
Windows scaling issues for high-DPI devices - Microsoft Support
Right-click the application, select Properties, select the Compatibility tab, and then select the Disable display scaling on high DPI settings check box.
Read more >How to Adjust High-DPI Scaling in Windows 10 | Digital Trends
1. Click the Notification icon on the Taskbar and select the All Settings tile in the Action Center. Alternatively, click the Start button...
Read more >How to fix High DPI issues in Windows 11 / 10 - The Geek Page
Fix 1 – Adjust the DPI Scaling feature for individual app · 1. At first, type the name of the app where you...
Read more >How to fix HiDPI issues in Windows 10/11 in just 5 minutes
You can fix HiDPI problems using these 5 steps: · Control System-Wide Display Scaling · Disable display scaling for specific applications · Update ......
Read more >How to fix Windows Scaling issues for High-DPI devices
Screen scaling is among the complex problems. There is no single fix for all DPI scaling issues in Windows. However, with every update, ......
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Okay, so commit c6288043b59db529901c9aa8e0b0bf89ac1298d7 adds a
highdpi
mode via url option and 54a8539549f58afbdec326093f4f6f3c550db577 addsprimitiveScreenScaleFactor
. And I am somewhat pleased with how trivial these two are 😊Appears to work, see e.g. https://squeak.js.org/run/#url=https://freudenbergs.de/vanessa/squeakjs&zip=[Squeak5.3-19452-64bit.zip,SqueakV50.sources.zip]&wizard=false&highdpi=true (note
highdpi
option in url)I’m somewhat hesitant now to make this the default, even for 6.0 images, because with 4x the number of pixels to draw everything does become slower. What do we think?
I just tried out-of-the-box Squeak 6.0 on a Mac screen that has
PlatformScaleFactor = 2.0
and when I use the menu to change the scale from the default 200% to 100% the host window’s size shrinks by half, making every pixel smaller. Is that the intended behavior?I find that confusing. Can you describe how a VM should behave that cannot change the visual size of the host window, but could support “small” or “big” pixels on a high-dpi screen?
Here’s what I think SqueakJS could do:
devicePixelRatio
times as many pixels for the given window size, disabled by defaultprimitiveScreenScaleFactor
to answer either1.0
(if in big-pixel-mode) ordevicePixelRatio
(in small-pixel-mode)highdpi=true
to the URLHow does that sound?