Captain_Deathbeard
10-02-2012 10:06:53
I am getting frequent crashes with paged geometry, I am assuming from overloading the memory. It usually crashes on createVertexBuffer() in BatchedGeometry::SubBatch::build, or sometimes i get an exception "D3Dvertex buffer error".
I'm keeping view range and batch size very low, and the vegetation is sparse, its a desert not a forest. On the other hand the tree meshes have quite a few polys ranging 1500-4000.
Also its a large world so I'm loading in new pages of pagedgeometry, and unloading the old ones as I move every km or so.
These crashes are BAD for me. I have a few thousand players many with weaker video cards (I have a 1GB video card and it crashes), my bug report forum will be flooded if i release it like this.
What I need is some kind of memory manager in paged geometry that will detect in advance if the user is low on memory and queue up the request for later instead of crashing the app. Maybe assign resources from a limited pool or something, stop things being created without others being unloaded first.
Thing is I have no idea how to detect when memory is low. Can anyone give me some advice where to start here? Or I can pay good money to anyone who wants to do it for me ?
I'm keeping view range and batch size very low, and the vegetation is sparse, its a desert not a forest. On the other hand the tree meshes have quite a few polys ranging 1500-4000.
Also its a large world so I'm loading in new pages of pagedgeometry, and unloading the old ones as I move every km or so.
These crashes are BAD for me. I have a few thousand players many with weaker video cards (I have a 1GB video card and it crashes), my bug report forum will be flooded if i release it like this.
What I need is some kind of memory manager in paged geometry that will detect in advance if the user is low on memory and queue up the request for later instead of crashing the app. Maybe assign resources from a limited pool or something, stop things being created without others being unloaded first.
Thing is I have no idea how to detect when memory is low. Can anyone give me some advice where to start here? Or I can pay good money to anyone who wants to do it for me ?