Playdate Simulator 1.9.3 has strange margins (on new system)

I'm just setting up a new development machine, all new hardware/monitors, moving from Win10 to Win11, basically a brand new setup.

I'm re-installing things to get back up and productive and installed the PlaydateSDK and simulator... and now I'm getting strange margins (black space) between the 'bevel' and the play area at 'normal' zoom:

These margins persist regardless of zoom level.

Am I doing something wrong? Is something broken?

More information on this one... it seems that the display scale factor is being applied to the Simulator application but not the client draw area. If I set the display scale factor to 100% then the black margins disappear (but then the whole things is then waaaay too tiny to see on my main monitor's 3840 x 2160 resolution - that's why Windows recommends a scale factor of 150%).

At least now I understand why it's happening. Still seems like a bug, though :wink:

Yeah, I agree that seems like a bug. Thanks for the report!

Please check this out with a solution: Simulator has incorrect scaling under Windows 11

The TL;DR, when the simulator can't fit a full pixel sized version of the screen inside the simulator frame based on your monitor scale/resolution it will size it to a full pixel size as shown. You can also play with the screen zooming options to further customize the appearance.

2 Likes

Yes, doing this addresses the issue:

I still don't know if that's a 'fix' (especially if it has to be re-applied every time we update the SDK :wink: ) - it's certainly a good workaround, though.

We are open to suggestions. :slight_smile: Having pixel art drawn scaled causes smashed/stretched pixels which isn't ideal for a dev tool where pixels need to be accurately represented. Again, I'm all ears for any ideas.

Having pixel art drawn scaled causes smashed/stretched pixels which isn't ideal for a dev tool where pixels need to be accurately represented.

Oh, I totally get the concern (I had the same problem when I was writing a scalable LÖVE/Lua prototype environment for our stuff so my old eyes could see detail (before the Playdate SDK became available, and so kept it to 1x/2x/3x/4x/5x, and "Don't mess with Mister In-between")). There be dragons.

I'm all ears for any ideas.

From perusing PlaydateSDK/bin, I see some wxWidgets DLLs (I've a couple of decades wxExperience, starting from way back when it was wxWindows)... so the Windows version of the simulator is likely built (for Windows) using Visual Studio and sits on top of Win32 with wx as the cross-platform emulation layer. For the Windows build (conditional '#ifdef' city) it may be possible to apply the 'Properties' workaround via an additional (again, Windows only) Simulator 'View' menu pick/checkbox - looking at this thread: Programmatically override high DPI setting seems to imply it's possible, even if it means having to restart the simulator to let have a registry change take effect.

All I'm getting at is: that if the High DPI Setting properties tweak for the Windows simulator executable turns out to be the recommended way of switching between 'easy to see and Win11 friendly' vs 'pixel perfect for art validation and/or before deploy' it may be less work in the long term to make it a menu option rather than an entry in a simulator FAQ :wink: .

Yeah, Windows is tricky due to all the combinations of scaling possible. Our display will double the size if the scale factor is above 150%. I've changed it to be equal to or greater than 150% which fixes your specific case and looks good. I will do some more tests and see if I could drop that value down further to say 120% to avoid black bar city. :slight_smile:

1 Like

Please give a SDK 1.10.0 a try — we improved the window layout at 150% display scale. Thanks for the report!

1 Like