Sign in to follow this  

Render Target Array bottle neck

This topic is 3742 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I've a strange bottle neck and I need your opinion. I'm realising a .Net/DirectX10 graphics framework. I've implemented parallel split shadow mapping but I use geometry shader to send the triangle to different render target instead of repeat the rendering seperately for each split. But I've a really bad lost of frame rate (500 to 60). I've analised with pix and I've seen that the lost is when the render target is put into device. The render target is created in this way D3D10_TEXTURE2D_DESC desc; ZeroMemory( &desc, sizeof(desc) ); desc.Width = width; desc.Height = height; desc.MipLevels = 1; desc.ArraySize = count; desc.Format = format; desc.SampleDesc.Count = 1; desc.Usage = D3D10_USAGE_DEFAULT; desc.BindFlags = D3D10_BIND_RENDER_TARGET | D3D10_BIND_SHADER_RESOURCE; ID3D10Texture2D* targetTex; hr=device->CreateTexture2D(&desc,NULL,&targetTex); D3D10_RENDER_TARGET_VIEW_DESC DescRT; DescRT.Format = format; DescRT.ViewDimension = D3D10_RTV_DIMENSION_TEXTURE2DARRAY; DescRT.Texture2DArray.MipSlice = 0; DescRT.Texture2DArray.ArraySize = count; DescRT.Texture2DArray.FirstArraySlice = 0; hr=device->CreateRenderTargetView( targetTex, &DescRT, &view); and inserted in this way device->OMSetRenderTargets( 1, &this->view,this->renderTargetDepth); D3D10_VIEWPORT vp; vp.Width = width; vp.Height = height; vp.MinDepth = 0.0f; vp.MaxDepth = 1.0f; vp.TopLeftX = 0; vp.TopLeftY = 0; device->GetDevice()->RSSetViewports( 1, &vp); Have I committed an error? I don't have this problem with normal render target. The render target that I use is composed by an array of 4 texture R32F 1024 x 1024.

Share this post


Link to post
Share on other sites
Don’t trust PIX timing too much. If you run on a GF 8 you should try NVPerfHUD for a more accurate timing.

It it possible that the geometry shader cause your problem. They are known as a critical part of the first generation D3D10 hardware.

Share this post


Link to post
Share on other sites

This topic is 3742 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this