Hello everyone,
I'm new to this forum so please forgive me if this is the wrong place to ask this question.
About two weeks ago I started working on a 2D particle system. I had finished it using the CPU only and at around 3000 particles my fps was starting to drop. At that point, I researched online and found out that it's best to use the GPU for particles. By spending a week on learning HLSL and by getting help from Microsoft's 3D particle sample I was able to finish the system using shaders.
The problem is that it's slower than the CPU in most cases. I say in most cases, because it can render up to 200,000 particles without an fps drop but only if the texture is a single pixel. If I use bigger textures (75x75 for example) the fps starts to drop at 1500 particles.
My (weak) laptop IS CPU-Bound (i5 2.7GHz processor and Geforce610M graphics card) but still; I was expecting a better performance using the GPU only. I don't believe that there is something wrong with my code since microsoft's sample is also running on an even slower frame-rate (though that's in 3D).
Is this normal? If it is, how am I going to know what to use? CPU or GPU?
Thank you very much,
I appreciate your help
I'm new to this forum so please forgive me if this is the wrong place to ask this question.
About two weeks ago I started working on a 2D particle system. I had finished it using the CPU only and at around 3000 particles my fps was starting to drop. At that point, I researched online and found out that it's best to use the GPU for particles. By spending a week on learning HLSL and by getting help from Microsoft's 3D particle sample I was able to finish the system using shaders.
The problem is that it's slower than the CPU in most cases. I say in most cases, because it can render up to 200,000 particles without an fps drop but only if the texture is a single pixel. If I use bigger textures (75x75 for example) the fps starts to drop at 1500 particles.
My (weak) laptop IS CPU-Bound (i5 2.7GHz processor and Geforce610M graphics card) but still; I was expecting a better performance using the GPU only. I don't believe that there is something wrong with my code since microsoft's sample is also running on an even slower frame-rate (though that's in 3D).
Is this normal? If it is, how am I going to know what to use? CPU or GPU?
Thank you very much,
I appreciate your help