A solution to slow charts in Excel 2008!
I hoped that this problem was just a case of some little bug in Excel 2008 that could be fixed and make charts just as fast as in 2004. But actually it looks like a more fundamental problem with how Excel 2008 charts get drawn on-screen on the Mac.
That's the bad news. The good news is, there are a few effective workarounds:
- Avoid using markers in charts with long data series. Alternatively, use a square marker instead of other shapes.
- For line charts, set the line width narrower. At 1 point or less, Excel 2008 (12.2.5) can draw a 10,000-point series in about 1 second. At 2.25 points (the default), it takes 5-15 seconds to draw each series (which happens every time you touch the graph or scroll it into view).
- If you use thick lines (which you shouldn't for this much data!), set the "cap type" to flat instead of round (the default). With flat caps, it takes 5 seconds to draw a 10,000-point series with a 2.25 pt; with square caps it takes 10 seconds, and with round caps it takes 15 seconds.
So, to summarize, with the default settings, Excel 2008 (or actually OS X) spends lots of time (about 15 seconds per 10,000-point series) drawing line segments with round caps for each point in the series. It does this for every series, every time you touch the chart, which can easily add up to a minute or more for charts with several long series. If you make the line thinner, you can reduce this time to less than a second.
It looks like this may actually be Apple's fault. Excel 2008 seems to send standard instructions to OS X to draw line segments with rounded caps, and then OS X takes a long time to draw all of them.
You can verify this by "printing" the chart to a PDF and then opening it in Preview. Preview (at least on OS X 10.5.8) takes just as long to display each series from the PDF as Excel took to draw it on screen. On the other hand, if you open the PDF in Adobe Illustrator or Acrobat, the chart is displayed instantaneously.
As another verification -- if you convert the line segments from 2.25 pt to 1 pt in Illustrator and then save the PDF, then Preview displays it in 1 second (instead of 15). But if you then zoom in in Preview, it takes longer to draw.
The PDF itself seems to be pretty clean. If you open it in Adobe Illustrator, you'll find there are just simple line segments for each data point. So kudos to Microsoft for using standard, simple PDF commands for on-screen display and export, but Apple had better find a way to display them more quickly!
By the way, has anyone tried working with big charts with thick lines on OS X 10.6? Is it any faster?
(Thanks to
http://forums.appleinsider.com/showpost.php?p=1417910&postcount=28 for the hint that got me started on this!)