Hi list,
Is there any way in current Gem to use asynchronous readback of pixel buffer objects to speed up recording (or other GPU<->CPU transfer)?
In one of my projects in plain C/OpenGL I used this technique successfully:
1) naive (blocking) glReadPixels direct to CPU ram and piped via stdout to ppmtoy4m|y4mscaler|mpeg2enc -> about 5fps
2) async glReadPixels to pixel buffer object mapped into the CPU with one frame latency and piped via stdout to same encoder -> about 20fps
3) async glReadPixels to PBO to CPU piped via stdout to /dev/null -> about 25fps
(laptop with 4GB ram, intel core2 dual core cpu, nvidia g105m gpu, tested with 32bit gnu/linux/ubuntu/karmic generic-pae kernel)
Thanks for any tips,
Claude
for information : what is the size of the pixel buffer?
thx Cyrille
Le 06/06/2010 16:49, Claude Heiland-Allen a écrit :
Hi list,
Is there any way in current Gem to use asynchronous readback of pixel buffer objects to speed up recording (or other GPU<->CPU transfer)?
In one of my projects in plain C/OpenGL I used this technique successfully:
- naive (blocking) glReadPixels direct to CPU ram and piped via
stdout to ppmtoy4m|y4mscaler|mpeg2enc -> about 5fps
- async glReadPixels to pixel buffer object mapped into the CPU
with one frame latency and piped via stdout to same encoder -> about 20fps
- async glReadPixels to PBO to CPU piped via stdout to /dev/null
-> about 25fps
(laptop with 4GB ram, intel core2 dual core cpu, nvidia g105m gpu, tested with 32bit gnu/linux/ubuntu/karmic generic-pae kernel)
Thanks for any tips,
Claude
On 06/06/10 17:35, cyrille henry wrote:
for information : what is the size of the pixel buffer?
either 788x576 or 1044x576, can't remember right now..
thx Cyrille
Le 06/06/2010 16:49, Claude Heiland-Allen a écrit :
Hi list,
Is there any way in current Gem to use asynchronous readback of pixel buffer objects to speed up recording (or other GPU<->CPU transfer)?
In one of my projects in plain C/OpenGL I used this technique successfully:
- naive (blocking) glReadPixels direct to CPU ram and piped via
stdout to ppmtoy4m|y4mscaler|mpeg2enc -> about 5fps
- async glReadPixels to pixel buffer object mapped into the CPU
with one frame latency and piped via stdout to same encoder -> about 20fps
- async glReadPixels to PBO to CPU piped via stdout to /dev/null
-> about 25fps
(laptop with 4GB ram, intel core2 dual core cpu, nvidia g105m gpu, tested with 32bit gnu/linux/ubuntu/karmic generic-pae kernel)
Thanks for any tips,
Claude
On 2010-06-06 16:49, Claude Heiland-Allen wrote:
Hi list,
Is there any way in current Gem to use asynchronous readback of pixel buffer objects to speed up recording (or other GPU<->CPU transfer)?
[pix_texture] can use asynchronous CPU->GPU transfers. they can be set via the "pbo" message (e.g. [pbo 2( will create 2 pbos for buffering)
there is no such thing for [pix_snap] yet.
fgmasdr IOhannes