Profiling in the BGE?

Hey all!
At the moment, i’m trying to identify the bottleneck in my multiplayer setup. The problem is that it the delay in question is that the data sent to the server takes time before all the other clients update at the same time. I’m not sure why this is happening. When i use cProfile, i get 22 function calls for the plugins.py - the interpretation part, but it says this takes 0.0000000000000000000 seconds, which can’t be correct?

Hm, perhaps, although i’d expect to see at least some activity.
It’s my own library, and it’s not threaded, though i really ought to at some stage.
Yes, i guess this will be a brute force solution.

Are you trying to run the clients synchron or asynchron? (This means: are the clients waiting for responses from server or just continue after sending data?)

That was my first thought. The client does not wait for a reply, it merely checks for any received data, then moved one. However, the actual clients show varying logic - from 0.5 to 3 ms, 0 - 15%
The network remains constantly low, so i wonder perhaps if it is just a lot of data to process. My suspicions lie with the server for now.

try with a standalone server. This way it does not waste time with game logic. Maybe it helps

I have, and the delay does not occur until an extra client’s load.
I believe that it may just have too much data to send in the time frame - every time a client connects, there is n^n-1 data to send.
So, I’ll look into batching data - which i should have done anyway. It will work better now that i have interpolation (extrapolation)
The downside is that i shall have to modify the setup considerably.

Since you’re looking at such a small time slice, try using percentages instead of seconds.