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

List:       koffice-devel
Subject:    Re: Review Request: A graph walker - base class for merging
From:       "Dmitry Kazakov" <dimula73 () gmail ! com>
Date:       2009-11-20 14:13:24
Message-ID: 20091120141324.15917.17362 () localhost
[Download RAW message or body]


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

(Updated 2009-11-20 14:13:23.954858)


Review request for KOffice.


Summary (updated)
-------

Added KisGraphWalker.

It walks through the graph and visits every node in a bottom-up way. It provides \
essential options for caching projection and for collecting node's properties in a \
reversed (top-down) way. It will be used in calculation of need/change rects for \
nodes.

Why it is needed?
1) It allows you to walk through the graph in a bottom-up and top-down way in the \
same time. This is like KisUpdateStrategy used to work, but... (see 2) ) 2) It \
doesn't use any node's internal structures or static members like KisUpdateStrategy \
and KisGroupLayer::updateProjectiopn used to use. It means that several "walkers" can \
work simultaneously on a single image. At the moment we can't do this because \
KisGroupLayer::updateProjection uses filthyNode member.

What it is supposed to do?
1) updater should know which rect will be changed during update and which one will be \
needed. It will help him to parallelize merge operations. 2) "changeRect" is \
collected on a way forward 3) "needRect" is collected on a way back (see \
KisLayer::applyMasks) 4) merges will be parallelized with the help of special walkers \
too


Diffs
-----

  trunk/koffice/krita/image/CMakeLists.txt 1045641 
  trunk/koffice/krita/image/kis_graph_walker.h PRE-CREATION 
  trunk/koffice/krita/image/kis_graph_walker.cc PRE-CREATION 
  trunk/koffice/krita/image/tests/CMakeLists.txt 1045627 
  trunk/koffice/krita/image/tests/kis_graph_walker_test.h PRE-CREATION 
  trunk/koffice/krita/image/tests/kis_graph_walker_test.cpp PRE-CREATION 

Diff: http://reviewboard.kde.org/r/2229/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