Ok so lately my game was getting a bit hungry for power than usual so I thought it needed some more RAM my PC used 4GB of DDR3 RAM and I upgraded it to 6GB of DDR3 RAM.
This did improve several things my game runs smoother with things like effects “Blur, 8XAA etc…” however V-Sync is still a no go.
So I decided to add another character to my level were my main character is in, the game slows down when the camera is directed anywere were the character is the obvious reason to me im sure is the amount of polygons that increase when the camera looks at the other character and since my game is 3rd person it overworks.
So what exactly is the solution? is the GPU the issue or the CPU or more RAM is needed?
I did some Task Managing when in the game and the game does not even exceed my entire dual core CPU its a Intel Pentium Dual Core @ 3.00GHz per core Dual Threated the highest I seen it use is about 51% and for the RAM when it came to the highest it only used about 848 MB.
As for the GPU the highest amount I seen it use is about 45%
What exactly is going on? the game even dough its poly intensive and effect intensive seems to consume much less than I thought it would is this a GPU issue?
Unless you’re developing on an ancient device (> 10 years old), upgrading your hardware is almost never a valid solution unless you’re making the game only for yourself. If your game runs poorly on low to average spec machines, people with those machines simply won’t play it.
This does not mean you have to just cater to the lowest common denominator. Having decent graphics settings options that let the end user trade off graphical power for performance allows your game to be available to a much broader range of users.
You should learn to profile your game and make improvements where you have performance bottlenecks. If the problem is your character’s polygon count as you suspect, then the obvious solution is to reduce the number of polys in your character model. However, I recommend you confirm that is the case first by stripping away anything else that could be causing slow down such as running armatures, shaders, logic bricks, Python controllers, etc. That way you can confirm that it is in fact the poly count that’s the issue before making changes.
As a side note about CPU usage: The BGE is not multi-threaded and will only run on a single core. It also tends to be a CPU hog and will use the CPU as much as it can regardless of how much work it’s actually doing. Because of this, you shouldn’t look at CPU usage to gauge your games performance. Use the in game profiler instead.
As far as I know armature deformations are calculated by the CPU only.
More (animated) armatures = eats more processing time
More (animated) channels/bones = eats more processing time
More constraints (e.g. IK) = eats more processing time
More faces = eats more processing time (GPU and CPU)
I’m not sure with key-frames. I know they eat a lot of memory. This might influence processing time too.
You might think about LOD for your skin meshes. But I do not know if that would help.
Alternative/additional, you might implement an LOD for your armatures. You do not need the detail bones (fingers, face etc.) when the character is far away.
I did run into armature issues before mostly coming from trees that played a breeze animation this was intensive enough to use up over 1,600 MB of ram so I turned the trees to static objcets instead.
I will try some LOD when it comes to animations the game feels a bit to lifeless with pure objects with no animations. So I gave it some thought and decided to create a more controlled environment to play animations.