[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    Re: Review Request: A fix for KisProjection bug that caused triple
From:       Lukáš Tvrdý <lukast.dev () gmail ! com>
Date:       2009-08-17 12:13:35
Message-ID: 20090817121335.1725.58910 () localhost
[Download RAW message or body]


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/1347/#review2051
-----------------------------------------------------------


I tested this patch and it really gives nicer painting but the flickers are still \
there and maybe it is little worse. I made video with following setup : sumi-e brush \
- radius 10, scale 20, default values for other. 2 layers, both dirty, I'm painting \
on the 1st layer. Check the video [1]. The performance is degraded by recording of \
course. qt-recordMydesktop uses 15 FPS by default.

[1] http://lukast.mediablog.sk/videos/flickers.ogv

- Lukáš


On 2009-08-17 11:26:53, Dmitry Kazakov wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/1347/
> -----------------------------------------------------------
> 
> (Updated 2009-08-17 11:26:53)
> 
> 
> Review request for KOffice.
> 
> 
> Summary
> -------
> 
> Heh.. Every time the user does something in krita atm, it causes prescaling and \
> drawing this piece of canvas 3(!) (at least) times. That happens, because \
> slotProjectionUpdated is called three times from different places: one - from \
> KisTopDownUpdateStrategy::setDirty, and ONCE FOR EVERY LAYER from \
> KisImageUpdater::startUpdate. Even simple one-layer image has at least two layers: \
> a paint layer and root group layer. Just imagine zooming of 10mpx image...  
> I've added a simple fix for that. Now only KisTopDownUpdateStrategy can finish an \
> update and report to KisImage it's finished. I'm not sure, but this fix should have \
> a small drawback - prescaling is started in a context of KisProjection thread. This \
> eliminates threading optimization KisProjection was supposed to work for. 
> Nevertheless i think we should commit this patch for now. At least temporarily, \
> because it speeds up drawing much, even faster than current threaded. More than \
> that, it makes it smoother. (Obviously, it has to work 3 times less =) ) 
> Just another bug, this patch fixes - flickering during painting. (Yes, this very \
> one we have been discussing with Lukas in ml recently). updateFinished was being \
> emitted too early, before actual projection was being updated. 
> About temporariness of this patch. I have some thoughts about entire update model. \
> I hope i'll post them to the ml today. It should cause a change in layer's \
> interfaces, but it'll eliminate the cause of this bug at all. 
> 
> Diffs
> -----
> 
> trunk/koffice/krita/image/kis_projection.cc 1010503 
> 
> Diff: http://reviewboard.kde.org/r/1347/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Dmitry
> 
> 

_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic