I have been toying around with eNet for my bachelor thesis and everything seemed to work alright, till I started to dump simulated data continuously onto the eNet connection. After a short period of time the performance drops down immensly.
I have a client send interaction data via eNet to a server program, where that interaction is processed and triggers a video frame as response, also sent via UDP but not via eNet.
In the beginning I get ~17 fps as a response, but starting with frame 30-50 (it variates) it drops down to ~5 fps, the increasing delay being in the enet server. So it would seem that some kind of buffer/cache has been filled up and thus slows down. Trying it on manual interactions the same happens, fps drops down after some time of continuous interactions and is back to normal if you stop interacting for a while.
The weird things that, in my opinion, doesn't fit the picture, is the fact that I normaly send my interactions in a 30 ms interval, if I change that interval to 1 ms, the framerate doesn't drop at all. Altough, the interactions (same amount) are dumped onto the stream in aprox. 1 seconds time, buffered on the server and frame responses arrive for quite some time afterwards.
What I did notice, is that when the fps drop occurs, my buffercount drops down to 1, and in the case of 1ms interval for interactions the buffer count is more or less constantly 2.
Another idea, could the cause be the fact that I have server and client running on the same pc to avoid network delay/packet loss/corruption?
So the problem being related to multiple network adapter acceses simultaniously? Server program is multithreaded.
Any ideas on how to battle this fps drop? Had no luck finding anything usefull in the documentation or forums so far. Working on Linux Ubuntu and CPU and Memory itself doesn't seem to be the hog.