Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!


1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


Porting from DirectX 9 to DirectX 11 memory management issues


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
1 reply to this topic

#1 roussec   Members   -  Reputation: 134

Like
0Likes
Like

Posted 11 August 2014 - 04:50 AM

Hi,

 

we are currently porting an application from DX9 to DX11. We are working with geometry/vertex data that can get large (from 1 GB up to 20 GB). DirectX 9 is able to handle this well. We use managed buffers in DX9 (D3DPOOL_MANAGED). In DX11 there are no managed buffers any more, we are using D3D11_USAGE_DEFAULT (DYNAMIC or IMMUTABLE does also not work, see below). 

 

DX9 (using D3DPOOL_MANAGED) is able to automatically determine which buffers need to be uploaded to the graphics card when no videomemory (local or non local) is available any more and keeps the other buffers in system memory. 

 

DX11 in contrast (using D3D11_USAGE_DEFAULT or D3D11_USAGE_DYNAMIC or D3D11_USAGE_IMMUTABLE) seems to write to and read buffers from disk when no local or non local videomemory is available any more. No system memory is used. This is very, very slow and lets the whole system hang sporadically.

 

Interestingly I can repoduce this with all Nvidia graphics adapters using DX11 we have available (500 - 700 series) but not with Intel HD 2500 - 4000. Intel HD although slower in general is much faster in this case since they keep everything in main memory.

 

Can somebody please tell me if this is a diver issue, a DX11 issue or something else. Or is there a setting that avoids writing to disk and use memory instead in DX11?

 

We are working with Visual Studio 2013, Windows 7 and 8.1.

 

Thank you.



Sponsor:

#2 Jason Z   Crossbones+   -  Reputation: 6071

Like
0Likes
Like

Posted 11 August 2014 - 05:36 AM

I haven't ever seen this type of issue (although I don't typically have such large resources).  There is certainly nothing in the D3D11 spec that indicates that you have to use the hard disk as the swap buffer if you use up all the video memory.  Remember that many programs (like Internet Explorer) rely on D3D11, so I would doubt that this happens also in their programs.

 

If it only occurs on NVidia cards, then I would say it sounds more like a driver issue.  If you have a trivial reproducible case, then I could try it out on AMD hardware for you.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS