The generally accepted advice for rendering two very content-heavy “GPU bound” surfaces/displays on a single GPU with a single application is to render them sequentially, offloading all non-GL CPU-heavy or IO-heavy operations to background threads when possible (to take advantage of multicore). This minimizes context swap overhead where 1) the driver has to serialize command streams for two different surfaces to the shared GPU resource and 2) swap the GPU’s use between two competing users, adding needless cost.
Does this advice extend to PowerVR GPUs?
(The only exception to this I’m aware of for PowerVR GPUs is performing non-rendering largely CPU “prep” tasks such as texture/buffer uploading and precompiling shaders. IIRC, it’s acceptable and recommended to off-load this overhead to a background thread. But please check me on that!)