https://bugs.kde.org/show_bug.cgi?id=439106

            Bug ID: 439106
           Summary: Low pointer polling rates cause inconsistent frame
                    'timings' in functions tied to pointer movement.
           Product: krita
           Version: nightly build (please specify the git hash!)
          Platform: Microsoft Windows
                OS: Microsoft Windows
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: OpenGL Canvas
          Assignee: krita-bugs-n...@kde.org
          Reporter: i...@ralek.art
  Target Milestone: ---

Created attachment 139637
  --> https://bugs.kde.org/attachment.cgi?id=139637&action=edit
Timelapse of a canvas pan using various input methods

4.4.7-alpha (git 4e4db6a) but is likely widespread.

This originally started with bug #409460

I believe that low (<200hz) polling rates in pointer devices causes Krita to
receive outdated pointer positions. These outdated positions are taken as
truth, and operations such as panning, zooming, and rotating suffer because of
it. This causes a weird off-time stuttering seen in the attached images.

Attached are several timelapse images of me panning a small canvas across the
screen with various devices of different polling rates. I noticed that
regardless of device type, the one factor that most closely aligned with the
stuttering was that the device polling rate was low.

If I had to make an educated guess as an artist and by no means a developer, I
feel like when Krita begins to draw a new frame, it asks for the last recorded
pointer position. When the pointer's location is updated once every 8ms (125hz,
middle-grade Cintiq), this position may be anywhere from 1-8ms old. This causes
the stuttering shown in the pictures.

On the other hand, when device polling rate is high, such as 1000hz, I believe
Krita always receives a <1ms old pointer position, and the problem disappears.

I believe fixing this issue one way or the other will be beneficial to myself
and other artists, as nearly every tablet on the market polls at around ~100hz,
with only top of the line models reaching near 180hz, which still isn't high
enough to avoid this issue.

A thread was started at
https://krita-artists.org/t/what-makes-kritas-canvas-operations-feel-so-wrong/25377
as I was trying to figure out what exactly was causing the issue before filing
the bug report, but most necessary information has been condensed into this
report.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to