Jump to content

Scrolling Jitter/Lag on 4.1.X


Recommended Posts

Firstly, I'm a big fan of paint.net and am glad for all of the things it does for the low cost of free. However, with paint.net 4.1.X, the scrolling lag makes the program difficult to use, So I downgraded to 4.0.12 (hosted on an external site), and the scrolling lag disappeared. Is there an easy way I can get some debugging information for you that would help you understand the cause? The computer should be new enough to handle scrolling over the default 800x600 white canvas.

 

The specs are as follows:

 

CPU: Intel core i5-7200u

 

GPUs:

Intel HD Graphics 620

Radeon Pro WX 3100

 

RAM: 8 GB

 

OS: Windows 10 1803

 

I even went into the switchable graphics settings and force the use of the dedicated GPU (Radeon Pro WX 3100), but this did not change the performance.

 

Thanks for your time.

Edited by Tiuipuv
added os
Link to comment
Share on other sites

I had another recent report from someone using an AMD GPU that things were no longer performing well, so I don't think this is just you or your system.

 

Have you tried turning off hardware acceleration in Settings? That worked for the other person, although I'd prefer to avoid that because in general it won't perform as well as it should. This should be seen as a short-term band-aid.

 

Also, definitely try updating the drivers for your GPU.

 

Lastly, the most comprehensive way you can help out is to submit a performance trace. I've listed instructions here: https://forums.getpaint.net/topic/113249-how-to-submit-a-performance-trace/ . You'll want to be recording a trace while you recreate the scrolling jitter/lag. And please ask questions if you have them -- soliciting performance traces is something I just started doing so I'm not yet aware of where people will run into trouble and have questions.

 

 

I may have to buy an AMD GPU so I can investigate what's going on here.

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

Well, I have more insight. I went ahead and reinstalled 4.1.4. Updated graphics driver, was just a minor update available. However, it isn't a GPU issue, even though it appears to be on the surface. I recalled running across scrolling issues in other programs as well, (looking back at you, visual studio code), and determined that it is a scrolling issue limited to the touch-pad.

 

Interestingly enough, In VS Code, I can fix it by resizing the window (bug thread: https://github.com/Microsoft/vscode/issues/34865). This does not work in paint.net 4.1.4. I recommend breezing over the thread to see if it applies to paint.net's scrolling mechanism.

 

Unfortunately for me, I am running the latest version of the touch-pad drivers, so I don't have any quick fixes other than using an external mouse or go over and manually use the scroll bars on the side (instead of the habit of 2 finger scroll). Any idea why this wouldn't be an issue with 4.0 releases?

 

Thank you for the quick reply.

Link to comment
Share on other sites

If it's a problem with the touch pad then there might be a quick way to test that theory out: plug in a mouse and see if the problem goes away. (that is, use the mouse and mouse wheel to scroll around) edit: looks like you had this idea too

 

Did you try disabling hardware acceleration in Paint.NET?

 

I suspect(ed) this is an issue in 4.1.2+ because I'm now using a custom pixel shader to help out with some rendering, which does increase the processing required by the GPU. This wasn't the case in 4.1.1 and earlier. So, that adds weight to the idea of this being a GPU issue. More specifically, a GPU driver issue. A performance trace might allow me to see, for instance, that the code in the GPU driver is spending a lot of time doing something unnecessary. My hypothesis, if this is actually the problem, is that the pixel shader is being recompiled every frame instead of being cached. This would be very easy to catch in Windows Performance Analyzer.

 

If it is a performance issue, and not an input handling issue, then you would probably see Task Manager reporting Paint.NET as using up a lot more CPU that it should. If it is an input handling issue with the trackpad then you probably wouldn't see increased CPU usage. And if you're having problems in other apps then that certainly points to a non-performance (i.o.w. not the GPU driver) related issue.

 

Also, it looks like Windows 10 v1809 has a fix for the issue that VSCode was bumping into. Once they re-release that update you'll also be able to see if that fixes the issue.

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

It most likely is not a performance issue, but more likely an input issue with the touch-pad.

 

I did try disabling hardware acceleration in Paint.NET, but it had no effect.

 

I tested 4.1.1, and it has the same scrolling problem, so it is not related to a custom pixel shader implemented in 4.1.2+. It is most likely not GPU related. However, I still sent an email to contact@getpaint.net with two different attachments of Windows Performance Analyzer files+folders. The first was with hardware acceleration disabled, the second with it enabled. Both are under 20 seconds long to try to reduce file size for both of us.

 

Let me know if you would like any other recordings. Once Windows 10 v1809 becomes available to me through Windows Update, I will test both apps and see if it resolves the issue.

Link to comment
Share on other sites

I looked at the performance traces and I'm not seeing anything out of the ordinary. I think we'll have to see when Win10 v1809 is available again if that's the fix.

 

The only thing I can think of that'd affect this is that in v4.0.20, I implemented support for WM_MOUSEHWHEEL, which means that the horizontal mouse wheel was directly supported. Previously it was up to the mouse (or trackpad, etc.) software to synthesize support by telling the scrollbars to move.

 

Note at https://www.getpaint.net/roadmap.html the change log for 4.0.20:
 

Quote
  • Fixed: Canvas now processes WM_MOUSEHWHEEL, which was preventing some horizontal mouse wheels and trackpad swipe gestures from working properly

 

So if 4.0.19 works, but 4.0.20 doesn't, that directly implicates your trackpad software. There might be a setting in there, or in Windows' mouse/trackpad settings, but I'm not aware of anything specific.

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

  • 2 months later...

Finally bit the bullet and force downloaded Win 10 v1809 last week. Don't know why Microsoft still won't push a nearly 4 month old update to a year old laptop. Yishhh.

 

Anyways, I opened up Paint.NET 4.1.5 and the scroll lag is gone. As you had guessed, 1809 must have fixed this bug, as VS Code is behaving now too.

 

For anyone else running into this issue still on Win 10 v1803, take a look at KB4462933 for a possible fix. It appears it affects some precision touch-pads in applications that have child windows. This is also why the issue only appeared after 4.0.20, as it is only a bug with WM_MOUSEWHEEL events.

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...