Jump to content

PN malfunctioning on QHD displays?


Recommended Posts

I'm having a devil of a time getting PN to work right on my new Dell XPS's QHD (3200 x 1800) display, which by default is scaled to 250% under Windows 10. Typical problems:

 

• Tool cursors remain unscaled, so small that you can barely see them.

• Palettes spontaneously disappear. When I try to move them, they flicker and jump around the screen.

• The open-image picker either doesn't respond to clicks, or switches to different images than the thumbnails you click.

• When you view a pasted screenshot at "actual size", it's gigantic.

 

Any plans to address this?

Edited by anderpainter
Link to comment
Share on other sites

Paint.NET does scale the UI and cursors for DPI -- but it doesn't tend to work if you've changed the scaling (DPI) settings without having logged out and logged back in. This clumsiness includes switching between monitors in a laptop dock-and-undock type of scenario, which I believe is what affects BoltBait (there was another thread with a conversation about this somewhere). It also doesn't work very well if you have multiple monitors with different DPI settings, regardless of whether you've refreshed your login after changing settings.

 

This is partly just an old school limitation of Windows and WinForms, but it's also something that I'm planning to address over time in future Paint.NET updates. Microsoft has added new DPI settings over the last few years, and has improved the capability of apps to detect and respond correctly to DPI settings in various ways over the years, but it takes time for UI frameworks (like WinForms) and apps (like Paint.NET, which uses WinForms) to catch up to that. And it's a lot of work! (it's worth it though -- so beautiful when an app gets it right) WinForms only just recently got enough support to make this possible for Paint.NET in its 4.7 release last year (and I only recently found out about some of it last week).

 

Also, as a tip, both Windows and Paint.NET will work best at integral scaling levels: 100%, 200%, 300%. If a bitmap or UI layout is designed for a certain pixel size at 100% scaling (aka 96 DPI), using a scaling of 150% or 250% means that things may get scaled to fractional pixel sizes. Well, pixels can't be subdivided -- so you can end up with ugly blurring (as opposed to decent blurring), or irregular scaling -- like one edge of a UI item gets scaled to 2 pixels while the other side only gets 1 pixel (or 3 pixels).

 

Linus actually does any okay job explaining some of this: 

 

 

  • Like 1

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

1 hour ago, Rick Brewster said:

Also, as a tip, both Windows and Paint.NET will work best at integral scaling levels: 100%, 200%, 300%. If a bitmap or UI layout is designed for a certain pixel size at 100% scaling (aka 96 DPI), using a scaling of 150% or 250% means that things may get scaled to fractional pixel sizes.

 

This is exactly why I chose 200% scaling when Windows suggested 150%.

 

The integral scaling levels look MUCH better than the odd sizes.

  • Like 1
Link to comment
Share on other sites

Yes, I've learned it's important to log out before switching to an external monitor or back to the built-in display, but haven't seen any other circumstances where it made any difference.

 

I've tried switching to one of the rounded-off scaling values. Unfortunately, 200% makes things too small for me to see clearly, and 300% makes everything ludicrously big.  :?(  Thanks for the suggestion, though.

 

Are all graphics apps having these difficulties? Even major players's, like Adobe's? Somehow I imagined they'd have the resources to deal with it, considering many of their commercial customers must be utilizing the latest technology.

 

Otherwise, I guess we'll just have to wait till Microsoft, graphics-adapter companies and software authors catch up with the technology, right?

 

Quote

Rick Brewster: If a bitmap or UI layout is designed for a certain pixel size at 100% scaling (aka 96 DPI), using a scaling of 150% or 250% means that things may get scaled to fractional pixel sizes. Well, pixels can't be subdivided -- so you can end up with ugly blurring (as opposed to decent blurring), or irregular scaling -- like one edge of a UI item gets scaled to 2 pixels while the other side only gets 1 pixel (or 3 pixels).

 

Could this also explain why PN's palettes jump around the screen when I try to move them—because it's trying to move them to fractional coordinates that don't exist? If so, couldn't you just include a simple rounding-off function before those values are used—or, depending on the programming language, just declare those variables as integers?

Edited by anderpainter
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...