What I would be concerned with is the amount of memory being allocated and deallocated each frame, not the speed at which the types are being accessed. The speed at which they're accessed is surely insignificant considering how few particles one can have in the world.
But as I found with my shadow system, allocating and deallocating hundreds of polygons in a type each frame was a no-no. So you should do some speed tests and calculate how much time you think is going to be spent in that part of the code for an average number of particles being created and deleted each frame.
But it seems to me that the number of particles created and deleted each frame, even with an effect using hundreds of particles, is generally going to be fairly low. Let's say you had 200 snow particles falling gently down the screen. Only a few each frame would be deleted, and only a few would be created.
Fire and smoke on the other hand has faster moving particles, but still only a few should be created and deleted each frame.
Still, it's something to consider. With a type based system one could clearly not simulate every single particle of snow in a level at once if one is creatign and deleting types. However, if one were to create a pool of types, and re-use the allocated memory when possible... That would significantly cut down on the wasted reallocation.
Of course, one should not try to do snow in that way. That was just an example.
But as I found with my shadow system, allocating and deallocating hundreds of polygons in a type each frame was a no-no. So you should do some speed tests and calculate how much time you think is going to be spent in that part of the code for an average number of particles being created and deleted each frame.
But it seems to me that the number of particles created and deleted each frame, even with an effect using hundreds of particles, is generally going to be fairly low. Let's say you had 200 snow particles falling gently down the screen. Only a few each frame would be deleted, and only a few would be created.
Fire and smoke on the other hand has faster moving particles, but still only a few should be created and deleted each frame.
Still, it's something to consider. With a type based system one could clearly not simulate every single particle of snow in a level at once if one is creatign and deleting types. However, if one were to create a pool of types, and re-use the allocated memory when possible... That would significantly cut down on the wasted reallocation.
Of course, one should not try to do snow in that way. That was just an example.