Re: Quartz blitter/hardware support?
Re: Quartz blitter/hardware support?
- Subject: Re: Quartz blitter/hardware support?
- From: Darrell Walisser <email@hidden>
- Date: Wed, 26 Jun 2002 18:17:14 -0500
On Wednesday, June 26, 2002, at 05:04 PM, Paul Fox
<email@hidden> wrote:
>
>
>
>
>
> ...
>
> 1. Quartz (really the window server), seem to sync screen updates to
>
> the
>
> display refresh. This means you normally can't go faster than the
>
> screen
>
> refresh rate.
>
>
>
> 2. To do a screen update, you have to synchronize with an external
>
> process (the window server), which involves IPC and hence has
>
> performance penalties associated with that.
>
>
>
>
Oh yes. And my X server running over a slot 802.11b wireless lan
>
(about 5mbps sustained) can do this faster even going through a TCP
>
connection and doing all sorts of emulation.
That's because it isn't copying the entire visible portion of the screen
over the network and to the client. The application has likely buffered
locally (including parts of the window you can't see) and thus the
overhead is small for scrolling.
IPC on Mac OS X isn't a speed demon, just try refreshing a 1x1 rectangle
and time how long that takes, it will probably be a lot more that you
expect. The minimum overhead for calling into the window server seems to
be on the order of 100s of microseconds, while calling a function in
your own application has microsecond or nanosecond overhead. True, the
IPC limitations normally less influential unless you are refreshing
small portions of the screen - though they still pose a definite upper
speed bound.
>
>
So, yeah, I can understand this is slow for a Mac....not.
>
>
Interesting point about the screen update limited to
>
screen refresh. What does this mean? That a windowFlush can only occur
>
max of 60 times a second?
Well actually you can go faster. If you refresh the entire screen, or a
large portion, you are locked at about 60fps max. If you refresh a
smaller portion, you can go higher because the windowserver knows where
the scanline is at any give time, and (perhaps) how long it should take
to copy stuff to VRAM. With that knowledge it tries to make sure all
your drawing gets in without the scanline touching what you are drawing.
I think digital LCD's don't have a set refresh rate, they just refresh
as fast as they can, so this problem may not apply to them.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.