Are there any known problems with large amounts of particles?
by Stefan Lundmark · in Torque Game Engine Advanced · 07/27/2006 (11:31 am) · 9 replies
I'll be short.
Are there any known cases of crashes or texture-trashing when using large amounts of particles, or concentrated volumes of particles?
Are there any known cases of crashes or texture-trashing when using large amounts of particles, or concentrated volumes of particles?
About the author
#2
07/31/2006 (12:54 pm)
I would say there'd be some performance issues with a large enough quantity of particles.
#3
Our projectile has a trail emitter much like the crossbow.
We lowered ejectionPeriodMS from 3 to 2 and went ingame to test it. Upon shooting the projectile, this is what happens:
Release build
* Three of our test platforms crash.
* My development laptop gets severe texture trashing on the terrain and the framerate drops below 10. However, it does not crash and stays ingame.
Debug build
* No texture trashing, but an assert:
08/05/2006 (8:04 am)
Quote:
Nope, but there could be if you find them ;)
Our projectile has a trail emitter much like the crossbow.
We lowered ejectionPeriodMS from 3 to 2 and went ingame to test it. Upon shooting the projectile, this is what happens:
Release build
* Three of our test platforms crash.
* My development laptop gets severe texture trashing on the terrain and the framerate drops below 10. However, it does not crash and stays ingame.
Debug build
* No texture trashing, but an assert:
Quote:
Fatal: (\source\tse\engine\gfx\D3d\gfxD3DDevice.cpp @ 1345
Cannot allocate that many verts in a violatile vertex buffer, increase MAX_DYNAMIC_VERTS! -- BJG
#5
08/07/2006 (11:11 am)
Stefan, I have weapons too with an ejection period of 2 and no remarkable framerate drop or alike. Hmm, wasn't able to see the image you posted, maybe your server is still down?
#6
@Chris - I don't see any particles in that video ;)
08/07/2006 (11:40 am)
@Stefan - You are creating more particles than can be held in the dynamic vertex buffer. You just need to increase the pool size in gfxD3DDevice.h, crank up the MAX_DYNAMIC_VERTS. This pool is a fixed size, so you need to scale it to the needs of your game.@Chris - I don't see any particles in that video ;)
#7
08/07/2006 (2:06 pm)
Waterfall, in the video. Precipitation causes it as well. Fully reproduceable, as outlined in that thread.
#8
Edit: Hey, nevermind. I'll test it out and ask questions if need be, after that. :)
08/07/2006 (2:28 pm)
@Brian: Any known issues with cranking up that value? It's gotta be there for a reason, right?Edit: Hey, nevermind. I'll test it out and ask questions if need be, after that. :)
#9
08/12/2006 (1:24 am)
Sure - we set it to an arbitrary value that seemed to work for all the situations we tried it in. If you set it very high there'll probably be wasted space unless you end up needing that much geometry all the time... I think Brian may also have changed around how volatile buffers work since MS2 but I could be wrong.
Torque Owner Brian Ramage
Black Jacket Games