my 2 cents:
It depends on how you are doing your FPC...
"proxy cache"
If you are using some other caching frontend/proxy like nginx or varnish or [insert one here] then it REALLY decreases the load as you do:
- one request to get the "frame" of the page which after its cached
doesn't even touch php or magento or mysql, just serves a static
file. So once its cached it doesn't need to bootstrap the app or
load and parse any layout/config/system xml.
- the second request is to get the dynamic content and is MUCH lighter. yes it
still has to use the config/layout/system xml but that should
already be cached AND it doesn't have to create/process that many
blocks depending on the dynamic needs.
also depending on what you need you could store information in cookies to be used by js after the page loads and not do the second request, again depends on how dynamic and sensitive that dynamic information is.
So a request flow would be:
- Request -> nginx/varnish/etc(super fast) -> response ...
- ajax request -> Magento for dynamic content (lighter processing then if doing the whole page) -> response -> js replace elements.
Yes you do pay for the extra round trip, but you do get things to instantly load for the customer and while the ajax request is being processed the browser could be pulling images/css/other js from the server which is nice.
"Magento FPC"
Honestly I don't know how the enterprise edition does it (just haven't read the code) but before most (not all) things are processed there is a section that you can attach a cache processor. In that environment the application has already been bootstrapped and some of the configuration loaded, so you could actually pull the FPC from the cache and then replace the place holders their with the specific information and send that out in just one request.
Again request flow:
Request -> Magento (before routing etc) -> punch holes -> response.
So things don't start loading until the dynamic content is there, but you don't have the extra round trip.
Conculsion:
As far as which one is the best, well that just depends on your needs and setup. These are just two of the different setups I've seen and in my testing either method out performs having no FPC at all.
HTH