From: rick.van.haasen++at++philips.com
Date: 10/18/2002 01:15:05
hi performers,
On their spec for the ir4, sgi claims 336 MByte/sec maximum upload
bandwith from shared
memory to texture memory ( ir3 has the same spec on this point).
24 bit RGB texels/pixels are transfered as 32 bit (1 byte "empty" per
pixel transfer).
As such the effective max. bandwidth is 336*3/4 = ~250 MByte per sec. With
3 byte pixels
the effective pixel transfer rate should be about 80 MPixel per second.
I have measured this with "uploading" to texture memory with
glTexSubImage. The result
is just below 80MPixel/s (for a 1MPixel texture).
Combined with the "download" bandwidth mentioned by Marcin it seems that
the
80 MBpixel/sec is symetric for <shared memory> to <ir3/4 memory>
transfers,
and applies to the funtions
glTexImage,
glTexSubImage,
glReadPixels
glDrawPixels
Rick
------------------------------------------------------------------------------------------------
Rick van Haasen Philips Research
Laboratories Eindhoven
Building: WY8-48 Prof. Holstlaan 4
Phone: +31 40 2744357 5656 AA Eindhoven
Fax: +31 40 2744660 The Netherlands
E-mail: rick.van.haasen++at++philips.com
-------------------------------------------------------------------------------------------------
Marcin Romaszewicz <marcin++at++sgi.com>
18-10-2002 04:09
To: ken sartor <sartor++at++visidyne.com>
cc: info-performer++at++sgi.com
(bcc: Rick van Haasen/EHV/RESEARCH/PHILIPS)
Subject: Re: [info-performer] quickly reading pixels from framebuffer
Classification:
What hardware are you running on and why do you need to read the
framebuffer? The best bet to improving performance is to see if its
possible to do what you want without glReadPixels. On a PC, the
performance hit for that function is staggering, on an sgi machine (IR
especially), it's much less, but still high. If you need to read the
pixels for use in rendering, on a PC it will be cheaper to render directly
to a texture if your video card supports it. If you are running on an sgi
machine, experiment with different read formats, once you find one that
does not require a conversion, the performance should be around 80
Mpixels/sec on an IR class machine, meaning if all you do is glReadPixels,
you would be able to maintain 60 Hz, anything else will drop you to 30.
-- Marcin
On Thu, 17 Oct 2002, ken sartor wrote:
>
> pfHi -
>
> Does anyone have a suggestion on how one might read pixels from the
> framebuffer during a realtime simulation? When i merely read the
pixels,
> my simulation slows down more that an order of magnitude! Is there some
> more efficient way to accomplish this (i am using glReadPixels
currently)?
> Or perhaps a hardware solution?
>
> TIA.
>
> ken
>
> -----------------------------------------------------------------------
> List Archives, Info, FAQ: http://www.sgi.com/software/performer/
> Open Development Project: http://oss.sgi.com/projects/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com
> -----------------------------------------------------------------------
>
-----------------------------------------------------------------------
List Archives, Info, FAQ: http://www.sgi.com/software/performer/
Open Development Project: http://oss.sgi.com/projects/performer/
Submissions: info-performer++at++sgi.com
Admin. requests: info-performer-request++at++sgi.com
-----------------------------------------------------------------------
This archive was generated by hypermail 2b29 : Fri Oct 18 2002 - 01:17:50 PDT