• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: AU with OpenGL GUI
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


References: 
 >Re: AU with OpenGL GUI (From: Dan Nigrin <email@hidden>)
 >Re: AU with OpenGL GUI (From: Shaun Wexler <email@hidden>)
 >Re: AU with OpenGL GUI (From: Urs Heckmann <email@hidden>)

  • Prev by Date: Re: VariSpeed and Timestamps
  • Next by Date: Re: AU with OpenGL GUI
  • Previous by thread: Re: AU with OpenGL GUI
  • Next by thread: channel config changed since 10.2.8?
  • Index(es):
    • Date
    • Thread