Scott Raney <[EMAIL PROTECTED]> said, on 7/4/00 4:59 PM:

>It's not so smart as that, it just does something simple like measure
>the percentage of its allotted CPU time a process uses between calls
>it makes to the OS (at which point the process does the equivalent of
>the Roberts Rules "I yield the balance of my time to whoever's next").
>If it always uses up its full quota, the OS will compensate by giving
>it smaller time slices or giving it slices less often to ensure that
>other programs running on the system remain responsive.

Just to make sure I understand correctly: The OS gives Word 100,000 
cycles. If Word yields after only 20,000 cycles because it's just sitting 
there waiting for the next keypress, the OS continues to give Word 
100,000 cycles each time around, rather than try to accurately predict 
what Word will need based on past data. If, on the other hand, QuickTime 
uses every one of those 100,000 cycles productively making a movie look 
good, then the OS considers it greedy and the next time around gives it 
only 50,000? How does that make sense? 

One thing that always impresses me about demos of the BeOS is the way the 
multitasking is handled. I don't know the underlying methodology, but the 
result seems to be a good balance between all the programs that are 
running, right up until the user does something. For example, if the 
system is really weighed down with a bunch of different applications all 
working to update their displays (movies, 3D plots, etc.) and I start 
dragging a window around, everything else slows down noticeably (but 
doesn't stop) because the system immediately focuses on drawing the 
window I am dragging well. The window I am dragging will be updated far 
more frequently than any other process, because that's what I'm focusing 
on. No matter how overburdened the system is, it is always ready to pay 
full attention to the user. It's really stunning, certainly in comparison 
to the Mac, and even to NT, which despite pre-emptive multitasking 
doesn't even come close in responsiveness. I don't know how Unix systems 
are, but I'm curious to see how Apple does with OS X.

>
>QT gets penalized for two reasons: 1) it bypasses the OS whenever it
>can (which may explain why forcing it to use GDI calls makes it work
>better on NT because this ties it closer to the OS) and 2) it starts
>its own thread that does stuff like polling the main event queue
>instead of doing it the nice way by just waiting for an event.  To
>some extent both of these practices are justified for a time-critical
>library like QT.  But Apple's got some tuning to do to make it work
>better on NT (and probably on UNIX, at least in its Mac OS X guise)
>where the rules are different than on single-user systems like MacOS
>and Windows 95/98.

I remember hearing an Apple engineer discussing QuickTime 3 I think, 
awhile back. He was talking about how it could something (full screen 
movies? can't remember) that Windows Media Player couldn't at the time. 
He said, "Microsoft claims you can't do this with current hardware. What 
we found was that you don't need to upgrade the hardware, you just need 
to upgrade the software." Maybe the two points you make above are related 
to this statement.

Geoff

Archives: http://www.mail-archive.com/metacard%40lists.best.com/
Info: http://www.xworlds.com/metacard/mailinglist.htm
Please send bug reports to <[EMAIL PROTECTED]>, not this list.

Reply via email to