0 Replies Latest reply on Dec 16, 2008 4:52 PM by Jason Szeto

    [svn] 4335: GraphicElement Optimization

    Jason Szeto Level 3
      Revision: 4335
      Author: jszeto@adobe.com
      Date: 2008-12-16 16:52:56 -0800 (Tue, 16 Dec 2008)

      Log Message:
      -----------
      GraphicElement Optimization

      - Changed how a shared displayObject is positioned in a GraphicElement. Previously, it was always placed at (x,y). Now, it is placed at (0,0) if the displayObject can be shared (ie. it has no transforms). This solves the problem of a sharedDisplayObject getting repositioned without the GraphicElement being aware of it.

      - Optimized Group.updateDisplayList so that we only redraw the GraphicElement's that share a displayObject that needs to be updated. Added a new class called InvalidatingSprite which has a single property called "invalid". If a GraphicElement needs to be redrawn, it marks its shared or unshared displayObject as invalid. Group will then only update the GraphicElements whose displayObject is marked invalid. Added invalidateDisplayList calls in a few missing places.

      QE Notes: Some of the mustella bitmaps need to be regenerated. The player renders differently two transformed sprites that draw the same visuals. For example, a rotated sprite at (0,0) with a drawRect at (20,20) will look from a rotated sprite at (20,20) with a drawRect at (0,0).
      Doc Notes: None
      Bugs: SDK-18053
      Reviewer: Evtim

      Ticket Links:
      ------------
      http://bugs.adobe.com/jira/browse/SDK-18053

      Modified Paths:
      --------------
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxTrackBase.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Line.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/Path.as
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.a s
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxVSliderSkin.mxml

      Added Paths:
      -----------
      flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/InvalidatingSprite.as