Re: 16bit vs 32bit render targets

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance

From: Eyal Teler (et_at_nospam-et3d.com)
Date: 05/16/04


Date: Mon, 17 May 2004 01:06:11 +0200

fry wrote:
> Hi,
>
> I did some tests with D3DFMT_A32B32G32R32F and D3DFMT_A16B16G16R16F render
> targets, I use them to render 128 by 128 textures in multiple passes ( I
> also use 3 render targets as output from pixel shader) after rendering I am
> copying RT to systemmemory to read its contents. I expected 16 bit format to
> be around twice as fast but it appears to be at the most 10-15 % faster. Is
> it possible that GPU uses 16 bit as 32 bit inside? - I use ATI 9800 Pro,
> thanks for any help.

Why do you expect 16 bit to be twice as fast? If you're purely
bandwidth bound then that could be the case, assuming you're accessing
only those FP textures. But otherwise there's no more reason to expect
that than there's reason to expect RGB565 to be twice as fast as ARGB8888.

THe Radeon 9800 Pro's pixel shader use 24 bit per component. But even
on the GeForceFX chips, which do differenciate between 16 bit and 32
bit processing, you can't expect to double performance automatically
by moving to 16 bit. And remember that to make the shader use less
accuracy, you should use the 'half' type (or _pp hint in shader assembly).

        Eyal



Relevant Pages

  • Re: when using multiple render targets problem....
    ... Lead Programmer ... > When I use several render targets become the pixel shader output ... then the occlusion query result is ...
    (microsoft.public.win32.programmer.directx.graphics)
  • Multiple render targets program???
    ... texture and I want to know how many pixels pass through z-buffer test. ... But when I use two more render targets, occlusion query doesn't work. ... without changing my pixel shader and any states, ...
    (microsoft.public.win32.programmer.directx.graphics)
  • when using multiple render targets problem....
    ... When I use several render targets become the pixel shader output ... and pixel shader modify z-buffer, the occlusion query results is always zero. ...
    (microsoft.public.win32.programmer.directx.graphics)