I would expect this behaviour. Although a benchmark could be used to verify, it will take you longer to compress this on the server end, send it to the client, and decompress on the client. The gain is a reduction in the throughput required, and the trade off loss is time.
Not sure why you want to use frames since they're a bit on the antiquated side nowadays, but if you are using them and the site is internal frames, if you make use of sessions you need to ensure that they are forced closed with session_write_close as soon as they are done on each page. Otherwise every page is waiting for another one to finish loading to release the lock on the session file.
header('HTTP/1.1 420 Enhance Your Calm');