[cairo-commit] goocanvas ChangeLog,1.109,1.110 TODO,1.30,1.31
Damon Chaplin
commit at pdx.freedesktop.org
Wed Apr 25 04:08:35 PDT 2007
Committed by: damon
Update of /cvs/cairo/goocanvas
In directory kemper:/tmp/cvs-serv5405
Modified Files:
ChangeLog TODO
Log Message:
2007-04-25 Damon Chaplin <damon at gnome.org>
* demo/mv-scalability-demo.c:
* demo/scalability-demo.c: instead of connecting signals to all items
we just use a handler on the root item. Also added a switch to turn
off the text items, to see the difference in performance (a lot).
Without text items we can startup with 100,000 items in 1 second
for a simple canvas, or 4 seconds for model-view (compared to 4 seconds
and 7 seconds with text items).
* src/goocanvasitemsimple.c (goo_canvas_item_simple_set_model): only
setup the accessibility stuff if accessibility is enabled (as it is
quite slow if you have lots of items).
Index: ChangeLog
===================================================================
RCS file: /cvs/cairo/goocanvas/ChangeLog,v
retrieving revision 1.109
retrieving revision 1.110
diff -u -d -r1.109 -r1.110
--- ChangeLog 25 Apr 2007 10:23:40 -0000 1.109
+++ ChangeLog 25 Apr 2007 11:08:25 -0000 1.110
@@ -1,5 +1,19 @@
2007-04-25 Damon Chaplin <damon at gnome.org>
+ * demo/mv-scalability-demo.c:
+ * demo/scalability-demo.c: instead of connecting signals to all items
+ we just use a handler on the root item. Also added a switch to turn
+ off the text items, to see the difference in performance (a lot).
+ Without text items we can startup with 100,000 items in 1 second
+ for a simple canvas, or 4 seconds for model-view (compared to 4 seconds
+ and 7 seconds with text items).
+
+ * src/goocanvasitemsimple.c (goo_canvas_item_simple_set_model): only
+ setup the accessibility stuff if accessibility is enabled (as it is
+ quite slow if you have lots of items).
+
+2007-04-25 Damon Chaplin <damon at gnome.org>
+
* src/goocanvasrect.c (goo_canvas_rect_update): added optimized
function to calculate the bounds without using cairo.
Index: TODO
===================================================================
RCS file: /cvs/cairo/goocanvas/TODO,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- TODO 3 Apr 2007 09:58:05 -0000 1.30
+++ TODO 25 Apr 2007 11:08:25 -0000 1.31
@@ -15,10 +15,6 @@
errors. Maybe we should extend any bounds returned from cairo slightly to
cover the maximum possible errors.
- o GooCanvasImage - redrawing artifacts in demo when zoom>1.
- Seems to be a bug in cairo, introduced in 1.3.12.
- See http://bugs.freedesktop.org/show_bug.cgi?id=10508
-
Features definitely needed:
@@ -28,6 +24,12 @@
Possible additional features:
+ o "scale-x" and "scale-y" properties to allow setting different horizontal
+ and vertical scales. We already seem to support this internally.
+
+ o "integer-layout" property for GooCanvas so all containers like
+ GooCanvasTable do layout in integers (i.e. on the pixel grid).
+
o Caching of rendered items to improve performance. Items would have a cache
option with choices like Never, Always and WhenVisible.
o Sticky items that don't move at all as the canvas is scrolled & zoomed.
More information about the cairo-commit
mailing list