When a new block is found, miners will automatically switch to mining on top of the new block headers with an empty transaction set. Occasionally you can see this in the blocks, when two blocks are found immediately after one another, the second one tends to be empty.
Within a few seconds though a non-mining PC constructs the merkle tree of the highest paying mem-pool transaction that can fit into a block, and passes the merkle root to the mining hardware, which then mines on top of the previous block and includes the transactions.
This merkle root of highest paying TX is updated every 30 seconds or so.
So here's something important: you don't pick which TX to include after you have mined it, you do it before.
Also: The hashrate of the hash-hardware stays constant. It's reliant on getting accurate previous blocker header, merkle root and a few other bits from somewhere, so that what it is mining will be a valid block.