Consider the careful use of threads.  If you are not using threads now, then consider adding a couple.  If you are, make sure you are not using too many.  If you are running on a Dual or Quad core computer (which most are any more) then proper thread tuning is very important.
You could look at OmniThread Library by Gabr, but there are a number of thread libraries in development for Delphi.  You could easily implement your own parallel for using anonymous types.