Closed
Bug 781097
Opened 12 years ago
Closed 10 years ago
Use OES_get_program_binary to cache shaders on first run and optimize startup time
Categories
(Core :: Graphics, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 918941
People
(Reporter: BenWa, Unassigned)
References
Details
This extension is available on PowerVR and allows us to retrieve and load binary shaders. This should help with startup performance.
We have a few options:
1) Easiest - If the extension exists on the first run cache the compiled shaders.
2) Instrument a build to dump and extract the shader binary.
3) Use the PowerVR SDK to precompile the shaders.
Comment 1•12 years ago
|
||
(In reply to Benoit Girard (:BenWa) from comment #0)
> This extension is available on PowerVR and allows us to retrieve and load
> binary shaders. This should help with startup performance.
>
> We have a few options:
> 1) Easiest - If the extension exists on the first run cache the compiled
> shaders.
> 2) Instrument a build to dump and extract the shader binary.
> 3) Use the PowerVR SDK to precompile the shaders.
How long does our shader compilation take on PowerVR?
Reporter | ||
Comment 2•12 years ago
|
||
I'll get some numbers when I come back, but it would be nice if someone can look into this first. I remember it taking a few ms but I'm not sure if that was PoverVR or desktop.
I'd rather not do this, though if we do, we should do #1. Binary shaders are being deprecated entirely in the next version of GLES. It also means we have to do extra tracking... like we need to recompile if the driver version increases (e.g. after a firmware upgrade).
Reporter | ||
Comment 4•12 years ago
|
||
(In reply to Vladimir Vukicevic [:vlad] [:vladv] from comment #3)
> I'd rather not do this, though if we do, we should do #1. Binary shaders
> are being deprecated entirely in the next version of GLES. It also means we
> have to do extra tracking... like we need to recompile if the driver version
> increases (e.g. after a firmware upgrade).
Source? OpenGL ES 3.0 Section 2.11.2 'Loading Shader Binaries' claims that it is. In the mean time I wouldn't mind using a few extension to get this of ES 2.0 if it gets a win.
Reporter | ||
Comment 5•12 years ago
|
||
On the SGX540_120 I'm seeing compile times of 85,15,21 ms for the first 3 shader compiles on mobile. However on subsequent starts up it takes 0-1ms per shader so they must be doing their own caching.
Comment 6•10 years ago
|
||
This looks like it could be closed as a duplicate of bug #918941 (since that one has more discussion)?
Reporter | ||
Comment 7•10 years ago
|
||
Fine by me.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•