Re: AU with OpenGL GUI
Re: AU with OpenGL GUI
- Subject: Re: AU with OpenGL GUI
- From: Shaun Wexler <email@hidden>
- Date: Wed, 24 Nov 2004 10:00:33 -0800
On Nov 24, 2004, at 2:27 AM, Urs Heckmann wrote:
Your gui performance sounds awesome... and Minky Starshine's gui
performs just perfectly as well...
... makes me think if switching from Quartz to OpenGL might be viable
for my framework - I *believe* I've just found that excessive Quartz
drawing (like 400 x 400 pixels every 25ms) from a RunLoopTimer in the
main thread can easily block audio threads (!!!) and lead to drop outs
in the (or a certain) hosting app.
I think OpenGL should be used by EVERYTHING! It's much faster (several
hundreds of times faster in some cases), and you can achieve similar
quality to Quartz, and of course you can do amazing things with it.
It's best to use it as a "push" model, though. AGP wasn't designed for
very good read-back performance, so once you have pixels (fragments)
drawn, it's best to only manipulate them via texture copies or
buffer->buffer VRAM blits.
Regarding audio, even the hardware can be interrupted by realtime
threads, and you'll see the artifacts if you're not VBL synced. CGS
runs at 51 priority for drawing, and 63 for events, so I'm not sure why
your Quartz drawing is causing dropouts, unless there are some
unobvious mutex dependencies in your code.
A question to OpenGL AUViewers... do you still have to make texture
bitmap sizes n x n pixels where n is a power of 2? Or is there a way
to use n x m pixels at arbitrary length?
I wrote a single ObjC texture class which works with all cards;
non-power-of-2 textures are supported on nearly all modern graphics
hardware up to 2048x2048 pixels, except for the old ATI Rage * variants
which only support Po2, up to 1024x1024.
* Pismo G3, most iBook G3, PB G4 400-667, B&W G3, G4 350-Dual 500,
maybe others. Not sure about early iMac/eMac.
--
Shaun Wexler
MacFOH
http://www.macfoh.com
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden