The Wait call in that loop should only wake up if there is a message pending for the driver, so basically it looks like you are getting so many messages sent to you that the driver is continuously busy. This could be caused by a loop in your drivers, i.e. driver A gets a message and then send to B, B gets one and sends back to A. The two drivers if left alone will consume all available CPU.

Toby

2009/5/24 Paul Osmialowski <newchief@king.net.pl>


On Fri, 22 May 2009, Toby Collett wrote:

> I agree that we need to solve the problem you were seeing originally. Good
> to hear that the new one goes though.
>
> Toby
>
I've tested yet another solution: in threaded version of globalgoto main
loop looked like this:
for (;;)
{
  nanosleep()
  this->InQueue->Wait()
  this->ProcessMessages()
  read
  think
  act
  PutMsg()
  Publish()
}
I've removed nanosleep() and everything went similarly as if it was
message driven driver (as globalgoto2). Thing is, why I had to add
nanosleep(): when controlling team of robots computer load goes much too
high. I've added nanosleep() to cause volunteer context release to save
CPU time for other (more important?) tasks. I've put it in all threaded
plugins involved in this team controller. This caused better performance
however still the load is high. I don't know what part causes this: Player
with my plugins or Stage that needs to update simulation state for few
robots at the same time. Sooner or later I'd like to do simulations with
massive number of robots, so the problem is critical if I want to start
it.

> 2009/5/22 Paul Osmialowski <newchief@king.net.pl>
>
>> It's amazing, doing GlobalGoto unthreaded driver solved my problem, at
>> least during all the test I did at my (slow) home PC. Soon I'll try
>> how it behaves on my killer high-end PC at work (for test completeness).
>>
I've tested it at work, everything went fine, as expected.
Latest version is here:
http://king.net.pl/playercontrib/plugins/player2.2/globalgoto2-20090524.tar.gz

Paul

------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, &
iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://www.creativitycat.com
_______________________________________________
Playerstage-developers mailing list
Playerstage-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/playerstage-developers



--
This email is intended for the addressee only and may contain privileged and/or confidential information