CHAPTER 4
88
Improving charting component performance
You can use various techniques to improve the performance of charting controls.
Avoiding filtering series data
When possible, set the filterData property to false. In the transformation from data to screen coordinates, the
various series types filter the incoming data to remove any missing values that are outside the range of the chart;
missing values would render incorrectly if drawn to the screen. For example, a chart that represents vacation time
for each week in 2003 might not have a value for the July fourth weekend because the company was closed. If you
know your data model will not have any missing values at run time, or values that fall outside the charts data
range, you can instruct a series to explicitly skip the filtering step by setting its
filterData property to false.
Coding the LinearAxis object
If possible, do not let a LinearAxis object autocalculate its range. A LinearAxis control calculating its numeric
range can be a resource-intensive calculation. If you know reasonable minimum and maximum values for the
range of your LinearAxis, specify them to help your charts render more quickly.
In addition to specifying the range for a LinearAxis, specify an interval (the numeric distance between label values
along the axis) value. Otherwise, the chart control must calculate this value.
Coding the CategoryAxis object
Modifying a CategoryAxis object’s data provider is more resource intensive than modifying a Series object’s data
provider. If the data bound to your chart is going to change, but the categories in your chart will stay static, have
the CategoryAxis’ data provider and Series’ data provider refer to different objects. This prevents the Catego-
ryAxis from reevaluating its data provider, which is a resource-intensive computation.
Styling AxisRenderer objects
Improve the rendering time of your AxisRenderers objects by setting particular styles. The AxisRenderers
perform many calculations to ensure that they render correctly in all situations. The more help you can give them
in restricting their options, the faster they render. Setting the
labelRotation and canStagger styles on the
AxisRenderer improve performance. You can set these styles within the tag or in CSS.

Get ADOBE® FLEX® 3: BUILDING AND DEPLOYING ADOBE FLEX 3 APPLICATIONS now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.