Sign in to follow this  
Rick Brewster

paint.net 4.2.6 alpha build 7258

Recommended Posts

This build should fix the mouse input and drawing issues that were happening when multiple monitors of different DPI settings were being used. (for example: https://forums.getpaint.net/topic/115494-paintnet-426-alpha-build-7256/?do=findComment&comment=564920)

 

On a technical note, I'm removing the use of the GetMouseMovePointsEx API because it has been nothing but trouble over the last 6 years. It was supposed to provide smoother mouse input that was less dependent on the performance of the system or app, but that hope has been completely squashed. I'm fed up with it, it's just a completely broken API and I've wasted way too many hours and days of my life debugging it and trying to hunt down any shred of good documentation or sample code for it.

 

Microsoft broke GetMouseMovePointsEx in Windows 8 and they just haven't bothered to notice it or fix it (it works great in Windows 7!). On top of that, the newer input system (WM_POINTER) has a method, GetPointerInfoHistory, that's supposed to provide the same functionality ... but it doesn't! It only ever retrieves the most recent mouse event (history count is always 1). So if you call EnableMouseInPointer you can still never retrieve any mouse movement events that your app wasn't fast enough to process. Thankfully Paint.NET processes mouse events fast enough that this really isn't a problem, but someone is just asleep at the wheel over at Microsoft. Thankfully the WM_POINTER system seems to work fantastically well for pens, drawing tablets, and touch screens.

 

(The above technical rant is provided for the benefit of any other poor developers out there who happen to try and make use of the cursed GetMouseMovePointsEx API and who stumble across this through a Google search. Stay away! It's broken! Like completely, utterly, maddeningly broken! You'll go crazy trying to make it work!)

 

All this means that the "Fluid mouse input" setting has been removed from Settings. It is no longer applicable. We can all forget about it and sleep better now.

 

---

 

To get this update, make sure you have "Also check for pre-release (beta) versions" enabled in Settings, and then click on the Check Now button. (Unfortunately alpha/beta releases are not currently available for the Microsoft Store version of the app.

image.png

You can also download the update directly: https://www.getpaint.net/files/zip/test/paint.net.4.206.7258.8945.install.zip

 

Changes since 4.2.6 alpha build 7256:

 

  • Fixed erratic and buggy mouse input handling when using multiple monitors with different DPI settings. The use of the GetMouseMovePointsEx API has been removed because it has been totally broken since Windows 8 except in increasingly narrow situations (single monitor, static DPI that never changes, not in a VM, no Remote Desktop, etc.).
  • Upvote 1

Share this post


Link to post
Share on other sites

I don't know if this a new thing, or if it's just that I've never noticed before

 

Depending on the angle, Using the Rectangle Select Tool on an angle >>>  cut >>> paste into a new layer ... it doesn't paste cleanly.  Ellipse select is the same.

A straight rectangle is fine

 

cut-bug-2.jpg

 

 

 

Share this post


Link to post
Share on other sites

Installed.

 

Let's see what the Ugee thinks....quite good actually :)  ( I gave it every type of stress test I could think of).

 

If I move the pen quite quickly with the Eraser Tool active the odd skip is generated. I'm not seeing this with the paint brush, nor does changing the opacity seem to have any discernible effect.

 

Eraser-Skipping.png

Share this post


Link to post
Share on other sites

For the "skips", if you have multiple entries in the History then there's just pointer up/down events that Paint.NET is seeing. It means the pen is not touching the surface of the tablet. Some may be more sensitive than others, I see this happen pretty regularly though.

Share this post


Link to post
Share on other sites
23 hours ago, welshblue said:

I don't know if this a new thing, or if it's just that I've never noticed before

 

Depending on the angle, Using the Rectangle Select Tool on an angle >>>  cut >>> paste into a new layer ... it doesn't paste cleanly.  Ellipse select is the same.

A straight rectangle is fine

 

cut-bug-2.jpg

 

 

 

 

That's just an artifact of the way antialiasing works. Pretty much unavoidable without massively increasing memory usage and massively reducing performance.

  • Like 1

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this