Pues hay que ver sobre cuantos datos está actuando la vista.... pero tantos segundos me parece exagerado.
Verificá que haya indices que permitan una óptima realización de los joins (incluidos los outer joins).
En lugar de "filtrar" toda la tabla desde delphi, hace que el Select sobre la vista incluya un predicado... esto será siempre mas óptimo.
No conozco Report Builder, pero digo yo que nada impide que calcules todo desde un storedproc... puesto que lo podes utilizar en una sentencia sql como si se tratase de una tabla o una vista:
Código SQL
[-]
Select *
from StoredProc(Parametros);
Hasta luego.