Re: [OT] Quartz Extreme in developer previews?
Re: [OT] Quartz Extreme in developer previews?
- Subject: Re: [OT] Quartz Extreme in developer previews?
- From: Allan Odgaard <email@hidden>
- Date: Sat, 13 Jul 2002 19:17:34 +0200
On lxrdag, juli 13, 2002, at 06:36 , Pierre-Olivier Latour wrote:
One suggested that Quartz Extreme would store off screen bitmaps in the
graphics memory, so that the blitter could be use for all these trivial
clear, copy and compose functions that make up most layer operations --
which should make the speed of Quartz closer to the 2.1 GB/s that my
GeForce claims to offer in bandwidth.
That's a common misconception about Quartz Extreme (btw Apple has some
responsibility in it by not saying clearly what QE is).
Do not forget that all Quartz operations are done in software by the CPU
(bezier drawing, font drawing, etc...). Quartz Extreme _only_ helps in
window compositing (according to Apple's own definition), which will be
done
by the graphic card instead of the CPU as in today's OS X.
Hopefully there will also be hardware support for sub-window operations.
For example compositing an image to a point, scrolling a rectangle in a
view with NSCopyBits etc. -- all these functions are done by the CPU
today (atleast it seems that way), and similar for the developer preview
I tested :-(
Therefore, QE won't speed up quartz drawing inside the window, nor help
window resizing and so on.
Take window resizing: an 800x600 window mostly contain a filled
background, either just white or a repeated bitmap. If the CPU needs to
erase the entire rectangle each time (the window change by a few pixels)
and copy it to the graphics card then it takes about 0.02 seconds for
each redraw. So definetely window resizing will benefit enourmously from
proper hardware usage.
The main difference is that dragging a window onscreen consumes up to
80%
processing power today (even on my 800MP). With QE, the graphic card
will do
the computations (thanks to window content being available as
textures), and
it will consume extremely few processing power. You can also have
transparency in windows or aliasing for Aqua effects without any
penalty.
Unfortuntaely I cannot confirm that hardware is actually being used, as
I can get similar speeds to what I see on Jaguar, by just using the CPU.
FYI: copy, clear and copy with scaling operations from RAM to VRAM are
hardware accelerated in the current OS X versions. Otherwise it would be
slow as hell.
It is slow as hell (compared to the technology beneath).
FYI if I do a memcpy() directly from RAM to VRAM then I can copy 190
MB/s. If I instead redraw the contents of an NSView at 800x600 simply
using NSFillRect with a white colour and add a timer to repeat this 60
times pr. second (which amounts to erasing 109 MB/s) then my view
actually only gets redrawn ~40 times pr. second (and the number
increase/decrease if I change the size of my view).
_______________________________________________
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.