Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New to quartz; avoiding triple-buffering when porting win32 code?



Hello,

I've searched the list archives and googled the last couple of days, but haven't found an answer to this problem which I however assume is rather trivial. I'm porting a win32 application which has the following basic structure:

mainloop:
    poll & handle events
        draw changes to window backbuffer
    draw changes in backbuffer to screen

Actually the port has been done for a while, it was started on Jaguar and finished on Panther, but because my own benchmarks gave the result that QuickDraw was the most efficient way to draw graphics I was simply using an NSQuickDrawView and then porting was rather straight-forward. Now in Tiger it however seems that Quartz has surpassed QuickDraw in speed (is this correct?).

My problem with switching to Quartz (this problem was there also in the port using QuickDraw, but I'd like to correct it now) is that I would like to avoid having an "extra backbuffer", as each window already has it's own backbuffer it feels unnecessary to have another backbuffer allocated by the application into which all drawing is first done which is then copied to the window's backbuffer.

Basically my question is: Is there any way to draw directly to the backbuffer of the window, outside of the drawRect method in my NSView? The problem is that while handling events the application will need to update graphical elements, and I want to avoid having an extra backbuffer.

I would very much appreciate any help on this topic.

Regards,
Simon

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartz-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartz-dev/email@hidden

This email sent to email@hidden


Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.