[ https://issues.apache.org/jira/browse/FLEX-33216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13476032#comment-13476032 ]
Maurice Amsellem edited comment on FLEX-33216 at 10/15/12 8:47 AM: ------------------------------------------------------------------- One reason of this performance degradation is that Flex4 Chart style initialization is called for every instance, whereas it should be called only once. Example for CartesianChart: override public function set moduleFactory(factory:IFlexModuleFactory):void { super.moduleFactory = factory; if (_moduleFactoryInitialized) return; _moduleFactoryInitialized = true; initStyles(); styleManager.registerInheritingStyle("axisTitleStyleName"); } private function initStyles():Boolean { HaloDefaults.init(styleManager); var cartesianChartStyle:CSSStyleDeclaration = HaloDefaults.createSelector("mx.charts.chartClasses.CartesianChart", styleManager); cartesianChartStyle.defaultFactory = function():void { this.axisColor = 0xD5DEDD; this.chartSeriesStyles = HaloDefaults.chartBaseChartSeriesStyles; this.dataTipRenderer = DataTip; this.fill = new SolidColor(0xFFFFFF, 0); this.calloutStroke = new Stroke(0x888888,2); this.fontSize = 10; this.horizontalAxisStyleName = "blockCategoryAxis"; this.secondHorizontalAxisStyleName = "blockCategoryAxis"; this.secondVerticalAxisStyleName = "blockNumericAxis"; this.verticalAxisStyleName = "blockNumericAxis"; this.horizontalAxisStyleNames = ["blockCategoryAxis"]; this.verticalAxisStyleNames = ["blockNumericAxis"]; } return true; } Chart support classes are also affected. was (Author: mamsellem): One reason of this performance degradation is that Flex4 Chart style initialization is called for every instance, whereas it should be called only once. Example for CartesianChart: override public function set moduleFactory(factory:IFlexModuleFactory):void { super.moduleFactory = factory; if (_moduleFactoryInitialized) return; _moduleFactoryInitialized = true; initStyles(); styleManager.registerInheritingStyle("axisTitleStyleName"); } private function initStyles():Boolean { HaloDefaults.init(styleManager); var cartesianChartStyle:CSSStyleDeclaration = HaloDefaults.createSelector("mx.charts.chartClasses.CartesianChart", styleManager); cartesianChartStyle.defaultFactory = function():void { this.axisColor = 0xD5DEDD; this.chartSeriesStyles = HaloDefaults.chartBaseChartSeriesStyles; this.dataTipRenderer = DataTip; this.fill = new SolidColor(0xFFFFFF, 0); this.calloutStroke = new Stroke(0x888888,2); this.fontSize = 10; this.horizontalAxisStyleName = "blockCategoryAxis"; this.secondHorizontalAxisStyleName = "blockCategoryAxis"; this.secondVerticalAxisStyleName = "blockNumericAxis"; this.verticalAxisStyleName = "blockNumericAxis"; this.horizontalAxisStyleNames = ["blockCategoryAxis"]; this.verticalAxisStyleNames = ["blockNumericAxis"]; } return true; } > Chart initialization performance degradation between Flex 3 and Flex 4 > ---------------------------------------------------------------------- > > Key: FLEX-33216 > URL: https://issues.apache.org/jira/browse/FLEX-33216 > Project: Apache Flex > Issue Type: Bug > Components: Charts > Affects Versions: Adobe Flex SDK 4.1 (Release), Adobe Flex SDK 4.5 > (Release), Adobe Flex SDK 4.6 (Release) > Reporter: Maurice Amsellem > Labels: performance > > Chart initialization is around 35-40% slower in Flex4 than in Flex3. > This is true for almost all chart types (Bar, Pie, Column, etc.) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira