Crystal doesn't render until it has read all the data...how will it know how to group and format a report until all data is read, how about aggregates that go in the header. Also Crystal reads the data in multiple times, if you read help, it goes across it 3 times I think, first reading, then getting some simple totals, then the report display.
You can't make Crystal display before it has read all the data. A SQL viewer has much less overhead, it doesn't care about formatting, conditional suppression, growing a line, or aggregates, it is just displaying the data.
HTH