PBO vs FBO

  • Follow


Hi,

I would like to get your view explaining the difference in using PBO
vs FBO.

I'm transferring many textures to the GPU (and voluemes as sets of
textures) and i'm using FBO in order to render results of screen (i
iterate on the textures). I then read back the results by glReadPixels
for each result texture (from the FBO)

I would like to know if by using PBO i can accelerate the data
transfer to the card and enhance performance ?

Thanks
M.
0
Reply moti.meir (2) 6/23/2008 9:04:31 AM

On Jun 23, 11:04=A0am, vickoda <moti.m...@gmail.com> wrote:
> Hi,
>
> I would like to get your view explaining the difference in using PBO
> vs FBO.
>

One is more modern (FBO).

PBO works everywhere, FBO only works on newer cards.

> I would like to know if by using PBO i can accelerate the data
> transfer to the card and enhance performance ?
>

No. Video memory is video memory no matter how
it's allocated.


If there's a speed difference between the two you
see it's in the binding (FBO avoids wglMakeCurrent())
not the data transfer.


--
<\___/>
/ O O \
\_____/  FTB.     Remove my socks for email address.

0
Reply fungus 6/23/2008 10:34:55 AM


On Jun 23, 1:34=A0pm, fungus <openglMYSO...@artlum.com> wrote:
> On Jun 23, 11:04=A0am, vickoda <moti.m...@gmail.com> wrote:
>
> > Hi,
>
> > I would like to get your view explaining the difference in using PBO
> > vs FBO.
>
> One is more modern (FBO).
>
> PBO works everywhere, FBO only works on newer cards.
>
> > I would like to know if by using PBO i can accelerate the data
> > transfer to the card and enhance performance ?
>
> No. Video memory is video memory no matter how
> it's allocated.
>
> If there's a speed difference between the two you
> see it's in the binding (FBO avoids wglMakeCurrent())
> not the data transfer.
>
> --
> <\___/>
> / O O \
> \_____/ =A0FTB. =A0 =A0 Remove my socks for email address.

Thanks !!!
M.
0
Reply vickoda 6/23/2008 11:14:39 AM

"vickoda" <moti.meir@gmail.com> wrote in message 
news:7225fea5-a111-478b-b91b-5dd069a7ccfd@34g2000hsh.googlegroups.com...
> Hi,
>
> I would like to get your view explaining the difference in using PBO
> vs FBO.
>
> I'm transferring many textures to the GPU (and voluemes as sets of
> textures) and i'm using FBO in order to render results of screen (i
> iterate on the textures). I then read back the results by glReadPixels
> for each result texture (from the FBO)
>
> I would like to know if by using PBO i can accelerate the data
> transfer to the card and enhance performance ?
>
> Thanks
> M.

Generally speaking, no. PBO's only give you the chance for asynchronous I/O, 
so if there's overlapping of the generation of data on the cpu side and 
downloading to textures, there can maybe be some realtime performance 
improvement.

make really sure that you have the correct formats for the textures. Use the 
smallest data type possible, and avoid conversions, making sure to use the 
correct byte-swapped format for your cpu. Benchmark pure download/readbacks 
and verify that you are getting the expected throughput (several hundreds 
megs/sec to low gigabytes/sec).

-jbw 


0
Reply jbwest 6/23/2008 7:06:07 PM

vickoda wrote:
> Hi,
> 
> I would like to get your view explaining the difference in using PBO
> vs FBO.
> 
> I'm transferring many textures to the GPU (and voluemes as sets of
> textures) and i'm using FBO in order to render results of screen (i
> iterate on the textures). I then read back the results by glReadPixels
> for each result texture (from the FBO)
> 
> I would like to know if by using PBO i can accelerate the data
> transfer to the card and enhance performance ?
> 
> Thanks
> M.

If I remember correctly, FBO don't allow the use of FSAA, PBO yes.
0
Reply Turbo 6/24/2008 12:30:33 PM

On Jun 24, 2:30=A0pm, Turbo <nos...@gmail.com> wrote:
>
> If I remember correctly, FBO don't allow the use of FSAA, PBO yes.

I think that's textures ... but I could be wrong.

It's probably a driver thing.


0
Reply fungus 6/24/2008 1:24:24 PM

fungus wrote:

> On Jun 23, 11:04�am, vickoda <moti.m...@gmail.com> wrote:
>> Hi,
>>
>> I would like to get your view explaining the difference in using PBO
>> vs FBO.
>>
> 
> One is more modern (FBO).
> 
> PBO works everywhere, FBO only works on newer cards.

Excuse me, but aren't PBOs Pixel Buffer Objects and as thus a generalization
of FBOs? Do you actually mean pbuffers when you are speaking about PBOs?

Arne

-- 
[--- PGP key FD05BED7 --- http://www.root42.de/ ---]
0
Reply Arne 6/26/2008 12:48:21 PM

On Jun 26, 5:48=A0am, Arne Schmitz <arne.schm...@gmx.net> wrote:
>
> Excuse me, but aren't PBOs Pixel Buffer Objects and as thus a generalizat=
ion
> of FBOs? Do you actually mean pbuffers when you are speaking about PBOs?
>

You're right. I'm confusing PBOs with pbuffers...!

0
Reply fungus 6/26/2008 2:10:59 PM

fungus wrote:

> On Jun 26, 5:48�am, Arne Schmitz <arne.schm...@gmx.net> wrote:
>>
>> Excuse me, but aren't PBOs Pixel Buffer Objects and as thus a
>> generalization of FBOs? Do you actually mean pbuffers when you are
>> speaking about PBOs?
>>
> 
> You're right. I'm confusing PBOs with pbuffers...!

However, I am also a bit confused. The PBOs came before the FBO extension.
Well, time for OpenGL 3.0. :)

Arne

-- 
[--- PGP key FD05BED7 --- http://www.root42.de/ ---]
0
Reply Arne 6/27/2008 3:24:59 PM

8 Replies
269 Views

(page loaded in 0.216 seconds)


Reply: