Bug 280086

Summary: Perspective grid is slow with QPainter canvas
Product: [Applications] krita Reporter: Sven Langkamp <sven.langkamp>
Component: GeneralAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: goffrie
Priority: NOR    
Version: 0.1   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:

Description Sven Langkamp 2011-08-14 18:45:59 UTC
Version:           0.1
OS:                Linux

After adding a perspective grid painting get really slow. Doesn't only happen with QPainter canvas, OpenGL works fine.

Reproducible: Always

Steps to Reproduce:
-insert perspective grid
-observe slowness


Expected Results:  
-fast

OS: Linux (x86_64) release 2.6.38-10-generic
Compiler: cc
Comment 1 Geoffry Song 2011-12-07 03:23:35 UTC
Git commit eb82fab9a76582b318902667665df3d8c61a95b6 by Geoffry Song.
Committed on 07/12/2011 at 04:15.
Pushed by geoffrysong into branch 'master'.

assistants: Cache rendering

This significantly improves performance using the QPainter backend,
as KisPaintingAssistant::drawPath is very expensive.

This also adds some caching to PerspectiveAssistant.

CCBUG: 280086

M  +21   -0    krita/plugins/assistants/RulerAssistant/Ellipse.cc
M  +1    -0    krita/plugins/assistants/RulerAssistant/Ellipse.h
M  +11   -6    krita/plugins/assistants/RulerAssistant/EllipseAssistant.cc
M  +3    -1    krita/plugins/assistants/RulerAssistant/EllipseAssistant.h
M  +59   -32   krita/plugins/assistants/RulerAssistant/PerspectiveAssistant.cc
M  +11   -1    krita/plugins/assistants/RulerAssistant/PerspectiveAssistant.h
M  +2    -5    krita/plugins/assistants/RulerAssistant/RulerAssistant.cc
M  +2    -1    krita/plugins/assistants/RulerAssistant/RulerAssistant.h
M  +1    -5    krita/plugins/assistants/RulerAssistant/SplineAssistant.cc
M  +2    -1    krita/plugins/assistants/RulerAssistant/SplineAssistant.h
M  +4    -1    krita/plugins/assistants/RulerAssistant/kis_ruler_assistant_tool.cc
M  +73   -0    krita/ui/kis_painting_assistant.cc
M  +6    -1    krita/ui/kis_painting_assistant.h
M  +0    -2    krita/ui/kis_painting_assistants_manager.cc

http://commits.kde.org/calligra/eb82fab9a76582b318902667665df3d8c61a95b6
Comment 2 Geoffry Song 2011-12-07 03:26:38 UTC
Is the performance good enough now?
Comment 3 Sven Langkamp 2011-12-09 01:02:56 UTC
Yep, performance is good enough.