I recently tested the render() performance of PhantomJS using different output methods. Calling render() saves a screenshot of the webpage that's currently loaded into PhantomJS and it can be done repeatedly to create a frame-by-frame video while the page is still loading. My motivation was to see if there's any difference depending on whether the images are saved to files, written to stdout or dumped to memory in base64 format.
My conclusion is that there's no practical difference between writing files and writing to stdout. However, writing to memory in base64 format is significantly slower than the other methods.
Here's the measurement data. The same website was loaded three times for each variation on a MacBook Pro using PhantomJS 1.9.7. Images were saved in PNG format, with a 10ms delay after each successful render.
renderBase64()
render(file)
render(/dev/stdout)
As you can see, this was not a very scientific test, but it provided me with some rough insight on how to use render() in PhantomJS. It also seems to be impossible to get very high frame rates while pages are loading, because render() and renderBase64() are synchronous operations and will block until each screenshot has been generated and saved.