Bug 331794 - High Quality Filtering lag/stutter in 16 bit
Summary: High Quality Filtering lag/stutter in 16 bit
Status: RESOLVED WORKSFORME
Alias: None
Product: krita
Classification: Applications
Component: OpenGL Canvas (show other bugs)
Version: 2.8.0
Platform: Microsoft Windows Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-06 03:09 UTC by Chris Jones
Modified: 2017-03-01 11:41 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Jones 2014-03-06 03:09:31 UTC
When using High Quality Filtering on a 16 bit image, drawing strokes and dragging/rotating the canvas is quite slow and stuttery in comparison to the other scaling modes.  This is most obvious on a large canvas.  Strangely, the stuttering does not occur on an image that was initially 8 bit and has been converted to 16 bit, but it does on an image that was initially 16 bit and converted to 8 bit and then back to 16 again.

This issue may have cropped up in recent builds as I don't remember there being any observable performance difference before.

Reproducible: Always

Steps to Reproduce:
1. Create 16 bit custom document, 7000 x 4000 or so.
2. Select High Quality Filtering as the Scaling Mode in the Display preferences
3. Draw or move/rotate the canvas
4. Change the Scaling Mode or Convert Image Color Space to 8 bit
5. Draw or move/rotate the canvas, and observe the difference
Actual Results:  
Performance is stuttery

Expected Results:  
Performance should be smooth

Windows 8.1 64 bit
Krita 2.8.0
Comment 1 Chris Jones 2014-03-06 03:13:38 UTC
To be more specific, Krita x64 2.8.0.2
Comment 2 Halla Rempt 2014-03-06 09:03:50 UTC
I think this is the same issue Tyson Tan reported for Linux: https://bugs.kde.org/show_bug.cgi?id=331759

But I'm not absolutely sure it's a real duplicate.
Comment 3 Chris Jones 2014-03-06 09:14:59 UTC
I saw that one, but I figured this might be different as it affects both mouse and tablet, whereas the other one states that only tablet is affected.
Comment 4 Dmitry Kazakov 2014-03-11 05:02:54 UTC
Hi, Chris!

Could you check the new testing build provided by Boud?
http://www.valdyas.org/~boud/krita_x64_2.8.0.4.msi

Is the problem solved there?
Comment 5 Chris Jones 2014-03-11 10:18:32 UTC
Hi Dmitry,

It still happens in that build I'm afraid.

Something else I've noticed - if I zoom in or out a bit, painting is faster and smoother, and the problem increasingly diminishes the further I zoom in either direction.  It's at its worst when the image is zoomed to fit the page.
Comment 6 Dmitry Kazakov 2014-03-11 13:06:31 UTC
Hm.. that really sounds like it is a glSync-related bug that we thought we had fixed.. Probably we should check whether it is activated on this specific hardware.
Comment 7 Halla Rempt 2014-04-28 14:54:41 UTC
Hi Chris,

Can you remind us of your exact GPU version and driver version?
Comment 8 Chris Jones 2014-04-29 09:53:20 UTC
GeForce 9600 GT, driver 335.23
Comment 9 Halla Rempt 2015-06-26 11:37:22 UTC
Now that I think of it... Could it be that this is caused by the conversion step? We create our image textures for the canvas at 16 bit/channel. There's no conversion needed when displaying. Then the image gets converted to 8 bits, but do we recreate all the textures? If not, from then on we're converting from 8 bit to 16 bit and that might cause stutter.
Comment 10 Halla Rempt 2017-03-01 11:41:05 UTC
I'm sorry, but I'm going to have to close this bug. I'm pretty sure there's still hardware where with a 8000x8000 canvas, there's stuttering or slowness when rotating or scaling the canvas, but I just haven't got access to any. These things depend so much on the driver, the gpu, the cpu, the gpu driver settings, it's just not something we can act on. We're all the time trying to improve performance, but there isn't a generic case of "krita lags" that we can fix.

In the end, we have to find a way so we can use bugzilla as a tool for finding stuff that we actually can act on and fix.