#6341 (Bug) New version of profile loader causes stuttering of mouse pointer / video playback (Windows)

+1 1

Closed as Fixed
Component: DisplayCAL 3.2.4 | Milestone: 3.3
Created by boday

Last modified

I just updated to the latest version of DisplayCAL two days ago and I noticed the the mouse pointer stutters about every three seconds, supposedly happens every time the profile loader is trying to check the calibration loaded.

The problem with the mouse pointer is quite subtle, and I only became aware of it when I was playing games, or I move the pointer at a constant medium speed against a dark background while watching closely. The stuttering of video playback is more obvious, especially during panning scenes.

Before the update I was using version 3.1.7.x (can't remember which one exactly), and there were no stuttering issues at all. Turning off "Preserve calibration state" also fixes the issue.

I can replicate the issue on both of my Windows laptops. Both are running Windows 10 with recent patches, also graphics drivers (Intel and Nvidia) updated within a month ago (I actually saw the same issue with f.lux, and on their website they suggest updating the driver of the graphic card to fix the mouse pointer stuttering...but it didn't fix it for me).

I updated DisplayCAL just because I found the profile loading bug in the old version when there are multiple displays, and it's really nice that now the loader has an elegant profile association interface and has the option to fix profile association (the way Windows handles this is just confusing and often blatantly wrong). I would understand if changes have been made in the new version is really necessary, and I can live with adding certain programs to the exception list, e.g. video players and others which require high precision of mouse pointer. But I think it's probably worth reporting the issue here.

Best regards and thanks for the good work over the years!

8 thoughts on “New version of profile loader causes stuttering of mouse pointer / video playback (Windows)”

  1. A work-around for a (long-standing, unfixed) issue with Intel graphics drivers that would ignore attempts to reload calibration has been added to the profile loader a while back. Without the work-around, the profile loader may not be able to preserve calibration in case an Intel graphics solution is used. As you are using (hybrid?) Intel graphics, you seem to be affected.
    So far, I’ve not had reports of stuttering, so this may be an isolated case, but I will be monitoring the situation. How many displays do you have connected?
    Currently, there is no way to disable the aforementioned work-around globally, which would potentially get rid of the stuttering you’re experiencing, so I’d suggest adding exceptions for latency-critical applications/games.

    1. Thanks! That is good to know.

      One of my laptop only has Intel integrated graphics, and the other one has a Nvidia graphics with Optimus. I can see the stuttering on both of them.

      I saw the stuttering when just using the built-in display. I haven’t tried with multiple displays (was just connect my laptop to the TV temporarily).

        1. I can still see occasional stuttering with the beta version. Not every three seconds anymore, but something like once every 1-2 min. I used a video clip with a long panning scene to test this, as manually moving the mouse pointer would be infeasible to spot only occasional stuttering.

          I’ve noticed that now there is a small animation playing on the loader icon every once in a while, not sure what that means (checking or actual reloading?). This small animation doesn’t always coincide with the occasional stuttering I saw while playing the video clip, either.

  2. I’ve noticed that now there is a small animation playing on the loader icon every once in a while, not sure what that means (checking or actual reloading?).

    The animation means actual reloading. In the case of Intel video drivers (this includes Optimus), it’ll only reload if the list of running processes changed from the last time it was checked (checks are performed roughly every three seconds).

    This small animation doesn’t always coincide with the occasional stuttering I saw while playing the video clip, either.

    That would indicate something else is the source of the stuttering. Under how much load is the system while playing back video? Does the video frame rate match the display refresh rate?

    1. Thanks for the clarifying. I tried again with manually start and close a small program to trigger the reloading, while playing the video. And yes, the stuttering now seems always coincide with the reloading, though subjectively smaller and less noticeable than before.

      I don’t know why I saw stuttering yesterday without reloading…Maybe I was seeing things or I missed a small animation when stuttering happened. The system load is not a problem here as I always use this clip to test smooth playback before and it was always “perfect”. I’m also well aware of the display sync problem and I’m using the frame-blending algorithm in mpv (similar to the smooth motion in madVR, but since the loader always turns itself off when madVR is running, it’s not a problem here) to get rid of the 3:2 pull down judder (24 fps video on a 60 hz display). I actually also tried without frame-blending and the stuttering was still there, though obviously less noticeable given the playback was a lot less smooth anyway.

      1. Thanks for the feedback. So, do you feel the new loader is an improvement over the previous situation for your specific setup? I’m currently trying to decide if I should keep or scrap the detection changes I made. One potential drawback is that during the three second interval while the loader is idling, a program could start, reset the video card gamma tables and close, and the loader won’t do anything until it detects a more persistent change in the list of running processes. This may not be a big problem though, and it would only affect Intel graphics users. I could also change the detection to only look at the list of program windows (invisible or not), so that it doesn’t reload calibration due to e.g. background processes (like services) starting, which usually are windowless, but then command line tools would be able to freeroam as well which is probably not desirable (maybe then I should add things like tooltips to an exclusion list to avoid excessive reloading while working normally with the system).

        1. I think it’s clearly an improvement for the mouse pointer. This would probably make the issue not noticeable at all (my mouse pointer could stutter when there is high system load anyway, so occasional stuttering is completely acceptable). For video playback where any stuttering is undesirable, I could always add the video player to the exception list.

          Actually on both of my Windows machines I almost never see unwanted changes of the calibration state. I actually had the “preserve calibration state” turned off for the last few days and it was all fine. So I’m lucky enough to not have anything screwing up the calibration state in my daily use.

          I would be happy with the current implementation in the beta version. I’m no expert in software development but introducing/maintaining something like an exclusion list sounds tedious…

Comments are closed.