0 Replies Latest reply on Oct 9, 2009 1:56 PM by Chet Haase

    [svn:fx-trunk] 10960: Fixed performance of Wipe effect.

    Chet Haase

      Revision: 10960

      Author:   chaase@adobe.com

      Date:     2009-10-09 13:55:47 -0700 (Fri, 09 Oct 2009)

       

      Log Message:

      ***********

      Fixed performance of Wipe effect. It turns out that micro-tuning the shader code is very important, since that same inner loop runs on every pixel of the bitmap being affected. This change splits the single Wipe shader (with a direction parameter) into four separate Wipe shaders (WipeLeft, etc.), to avoid a switch on the direction parameter. Also, it avoids some setup of pixel values, only bothering to sample the pixel values after it determines which image to sample from. Little stuff, but gained about 20-25% performance on some sample wipe effects.

       

      QE notes: This broke 3 Wipe effects tests because the old WipeEffectInstance class went away. These tests have supposedly been updated by the time this checkin is happening.

      Doc notes: No

      Bugs: sdk-23279

      Reviewer: Corey

      Tests run: checkintests, mustella spark/effects

      Is noteworthy for integration: No

       

      Ticket Links:

      ************

          http://bugs.adobe.com/jira/browse/sdk-23279

       

      Modified Paths:

      **************

          flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Wipe.as

       

      Added Paths:

      ***********

          flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/WipeDown.pbj

          flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/WipeDown.pbk

          flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/WipeLeft.pbj

          flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/WipeLeft.pbk

          flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/WipeRight.pbj

          flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/WipeRight.pbk

          flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/WipeUp.pbj

          flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/WipeUp.pbk

       

      Removed Paths:

      *************

          flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Wipe.pbj

          flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Wipe.pbk

          flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/WipeInstance.as