[Mono-bugs] [Bug 82530][Wis] New - Unrequired updates when loading XAML files
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Wed Aug 22 12:00:48 EDT 2007
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by sebastien at ximian.com.
http://bugzilla.ximian.com/show_bug.cgi?id=82530
--- shadow/82530 2007-08-22 12:00:48.000000000 -0400
+++ shadow/82530.tmp.19333 2007-08-22 12:00:48.000000000 -0400
@@ -0,0 +1,59 @@
+Bug#: 82530
+Product: Moonlight
+Version: 1_0
+OS:
+OS Details:
+Status: NEW
+Resolution:
+Severity:
+Priority: Wishlist
+Component: engine
+AssignedTo: mono-bugs at ximian.com
+ReportedBy: sebastien at ximian.com
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+URL:
+Cc:
+Summary: Unrequired updates when loading XAML files
+
+Description of Problem:
+
+A lot of unneeded activity goes on when loading an XAML file.
+
+E.g. the test/xaml/test-shape-ellipse-stroke.xaml has about 70 ellipses in
+it but I get 216 path resets(*) just loading (not display) the XAML file.
+
+(*) using cairo_path_t caching not yet in SVN
+
+This means every ellipse, even with it's path cached, is created 4 times
+(the last one being ok and kept in the cache) just for loading the XAML.
+
+This happens, in my case, because the cached-path is cleared when some
+properties are set (normal behavior). However the clear happens because
+something else requested the path to be created (between the setting of the
+2 properties).
+
+This could be fixed by using a "loading" flag inside the DO (and ignore
+updates if the flag is set) then clearing it when the XAML loader has
+completed setting properties on the DO.
+
+But this likely also occurs on DO created by source code (not markup) so it
+looks like we're calling code that invalidates (or recalculate) much too
+often (and paying the price in performance).
+
+
+Steps to reproduce the problem:
+1. add some counters in shape.cpp (e.g. draw)
+2. mopen --parseonly test/xaml/test-shape-ellipse-stroke.xaml
+
+Actual Results:
+216 cache resets
+
+Expected Results:
+no cache resets
+
+How often does this happen?
+Always
+
+Additional Information:
+* mopen's --parseonly is in SVN since r84629
More information about the mono-bugs
mailing list