Bug 361546

Summary: The brushes have become really slow in recent 3.0 alpha builds compared to their 2.9 counterparts
Product: [Applications] krita Reporter: Raghavendra kamath <raghu>
Component: Brush enginesAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: major CC: griffinvalley, halla, moi, simonandric5
Priority: NOR    
Version: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Brush performance in 3.0 vs 2.9

Description Raghavendra kamath 2016-04-09 07:11:31 UTC
I have noticed that some brushes have become really slow in builds ( probably after the Vc  1.2 transition) first  i thought this may be because the brushes had complex tip, but then i chose basic brushes like Basic-tip-default to test . I tested the same brushes in 2.9 and 3.0 with same settings. I have not enabled instant preview to test the base speed and not the preview (Note below)

The results showed that there is a noticeable speed difference in basic brushes, you can check the screen capture here -> https://dl.dropboxusercontent.com/u/37777793/new-lag.mp4 
(I will attach this video to this bug report too)

as you can see at the end of video the 300px brush takes too much time in 3.0 while the same brush with same size completes the stroke way before it gets completed in 3.0  

Now the reason to disable instant preview was that I wanted to see the difference in real stroke and beside enabling instant preview gives on more side effect since the brush takes too much time to load the stroke is not finished in the background and it really hampers painting , often if you paint something and then decide to delete or clear the canvas after 3-4 sec krita hangs a bit as the stroke is still rendering in background.

Reproducible: Always

Steps to Reproduce:
1.Open krita create a new document switch off the instant preview ( this is to notice the actual speed of the brush)
2.Choose brush basic -tip-default and adjust the size above 120px
3. drawing on canvas with a reasonable speed

Actual Results:  
the brush stroke takes too much time to complete even if it is normal basic brush 

Expected Results:  
The performance of the brush should be onpar of what we had in 2.9 if not faster than it .

Pardon me for setting this bug to major as this hampers the painting process and I think this shouldn't go unnoticed , if you feel there should be a lower priority to this report please change it.
Comment 1 Raghavendra kamath 2016-04-09 07:12:55 UTC
Created attachment 98301 [details]
Brush performance in 3.0 vs 2.9
Comment 2 wolthera 2016-04-09 10:00:05 UTC
You mentioned turning off vc made no difference, right?
Comment 3 Raghavendra kamath 2016-04-09 10:18:46 UTC
Switching to lesser Vc version made a difference although the lag is still there on higher size values above 300-450 px ,

I noticed most of the basic brushes suffer from this. For now I switched to Vc .7 so that on lower size values the brush behaves well , but on bigger sizes there lag is considerably high particularly the Block_basic brush
Comment 4 Raghavendra kamath 2016-04-09 11:49:04 UTC
A workaround for now is to avoid using auto spacing and keeping the spacing above .08 , the brushes then behave normally
Comment 5 Raghavendra kamath 2016-04-16 13:06:36 UTC
by using build type to "KritaDevs" in cmake as guided by dmitry and zagge I was able to get on par performance from the basic brushes in 3.0 , so this bug is now invalid. they were slower because I was building with debug.
Comment 6 moi 2016-10-07 23:16:31 UTC
I have the same problem, but im with the huion tablet, and i can't upgrade my krita, im in 2.9, but, the problem its with all the brushes, and i cannot stop that. Someone help