When rows of a resultset are generated? Consider a client which asks MySQL server for 100000 rows, but retrieves rows later one-by-one.

Does MySQL server generate the entire resultset before sending to client, or does it generate rows during sending to the client?

When most memory is used by the server: when generating the resultset or when sending it to the client?
If MySQL needs to create a temporary table it generates the result before sending it to a client. 

Normally you want to avoid that and make Mysql to generate the result as it accesses the table(s) and as fast as the client reads it.