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.
You can also download directly using the link over at the forum.
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.).