It can indeed be slow, and this is usually a I/O issue. The Whisper storage backend does a lot of seeks, and people recommend using SSDs to deal with that. Also, you can have graphite-web just give you the (calculated) metric data for a particular query in JSON, and have it rendered client-side. http://graphite.readthedocs.org/en/latest/tools.html lists a few.
Finally, we are investigating other storage backends for more fault tolerance. Probably we'll settle on something based on Cassandra, like http://blueflood.io/.
Jordan Sissel wrote a short note about it over here: https://gist.github.com/jordansissel/3760225
That'll obviously be very expensive when the resolution is very high, though.
the upside is we have a dashboard that is tailored for our use case, the downside is it took a couple of days to get right.