I believe you want to set the BUFFERSIZE (in bytes) so that it will download in larger chunks:
curl_setopt($ch, CURLOPT_BUFFERSIZE, 2048);
Note: Someone mentioned that CURLOPT_PROGRESSFUNCTION is deprecated, I can see that how it works changes after 5.5.0 - but nowhere can I see that this feature will be removed.