XML/SWF Charts is optimized for performance and has no data point limits. However, unlike static bitmaps such as JPEG, using any Flash content is equivalent to launching a small application that consumes memory and CPU cycles, even when there is no visible animation. This is normal and should be taken into account when designing web pages.
There are many other reasons that affect performance, including the browser, operating system, and hardware. Here are things that you can do to improve performance:
- Reduce the number of charts and other elements that affect performance on each web page.
- Avoid using transparent charts.
- Avoid using overlapping web page elements (pull-down menus overlapping charts, composite charts, etc.)
- Reduce the charts' dimensions.
- Minimize visual effects rendered programmatically such as filters. Use bitmap images instead to draw backgrounds and other elaborate elements.
- Minimize functions that re-render the chart such as update, or increase the interval between them.
- Minimize functions that produce animation such as transitions.
- Use line instead of column and bar charts with large data.
- Take advantage of functions that manage large amounts of data. See Drilling down and Scrolling below.
- Keep your charts simple both to improve the performance and to make them clear. The best charts are easy to read and show summarized, not raw data (averaged values, sampled values, etc.)
Reduce large amounts of data by grouping and averaging some of it. For example, instead of showing 365 daily values, average each month and show just 12 monthly values. Averaged values are sufficient in most cases. They produce simpler and easier to read charts.
When the data is collected at small intervals, it might be sufficient to chart sampled values with a larger interval. For example, to show daily temperature changes, it is sufficient to chart one temperature value every hour instead of every minute. This produces simpler and easier to read charts.
Averaged and sampled values are sufficient in most cases. If not, then allow users to drill down to view actual values. For example, instead of showing 365 daily values, average each month and show just 12 monthly values. Each could be clicked using link_data to show the daily values just for that month.
Rendering numerous data points can be slow on some machines. To produce a large chart and still render it quickly, use scrolling to view a small portion of the chart at a time. The scroll function can also be used to optimize charts by determining how much detail to show while scrolling, and how much detail to show after the scrolling stops.