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.