I’m optimizing an engine where the texture uploads are done in the main render thread which brings performance penalties as the textures are quite large. I have two variants on the table on how to solve this:
Shared OpenGL context which is used by a secondary thread to create and upload textures which are then shared with the main render thread context.
Staying with one context and using PBOs with non-blocking upload calls.
I have doubts about context sharing as they are traditionally known to be performance heavy and are not implemented well on many drivers.
Given your experience with PowerVR platforms, what do you think is the better method and why?