Quoting Ed Russell <[EMAIL PROTECTED]>, on Sat 26 Apr 2008 07:09:57 AM PDT:

> Jim,
>
> When I'm not getting QSK and my CPU is at 8%, I'm wondering where the
> bottleneck is. 250ms latency is a real long time in the cpu universe.

Indeed.. 250ms is an eternity..

Are you using process explorer or task manager to look at the 8%..

Turns out that there are things that can be going on in Windows that  
consume CPU resources that don't necessarily show up in the CPU  
utilization.

A notorious one for me at work is network file accesses.  Under some  
poorly understood set of conditions (meaning I haven't spent much time  
figuring it out), a task on my computer (email, word, etc.)  slows to  
a crawl. I've figured out so far that the task is waiting for some API  
to return, typically a "file system directory" sort of call.. and it's  
waiting for the network to come back and tell it that it's failed or  
worked.  This can happen, even if the network is up and running, and  
all the network file services are fine.  I think it loses track of  
whether it's gotten the acknowledge back or something.  Either that,  
or there's something in the internals of Windows or a poorly behaved  
device driver/service from a 3rd party, that makes the unwarranted  
assumption that all file accesses are to a local drive.  Adobe license  
manager service also seems to cause troubles... Acrobat appears to  
hang.. There were some interactions with the OpenAFS and Transarc AFS  
clients at one time too.


Or, maybe it's some sort of kernel scheduling artifact..a high  
priority thread grabs the kernel, and doesn't release it when it  
should.  Even robust real time operating systems can have these sorts  
of things, and Windows, in general, isn't really designed for real  
time applications (at least not at the millisecond scale).  If you  
need honest streaming real-time performance (e.g. streaming video or  
audio) from windows, it's a fair amount of down and dirty Windows API  
programming to fit yourself into their scheduling model, account for  
all the things that hiccup, etc.  I don't know that PowerSDR has gone  
to that much trouble (or, more precisely, that the pthreads  
implementers have done this).


So, the take home message is that it's not necessarily a CPU loading  
issue.  The runtime environment is quite complex, and not everybody  
follows all the rules or is thoroughly debugged.

One of the theoretical advantages of Vista (not yet fully realized) is  
that it has a much more robust model for real time and streaming..  
because it's needed for providing entertainment services (along with  
digital rights management).  If someone has paid $10 for a payperview  
movie or $50 for pay-per-view sporting events on their Vista box,  
they're going to be pretty cranky if it hiccups all the time.



Jim, W6RMK

_______________________________________________
FlexRadio Systems Mailing List
FlexRadio@flex-radio.biz
http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz
Archives: http://www.mail-archive.com/flexradio%40flex-radio.biz/
Knowledge Base: http://kb.flex-radio.com/  Homepage: http://www.flex-radio.com/

Reply via email to