I'm drawing inside an NSView by simply setting its layer's contents to a CGImage which is updated for every frame, e.g. something like this:
dp = CGDataProviderCreateWithData(NULL, frameBuf, frameBufSize, NULL); im = CGImageCreate(frameWidth, frameHeight, 8, 32, frameStride, theColorSpace, (CGBitmapInfo) kCGImageAlphaNoneSkipFirst, dp, NULL, FALSE, kCGRenderingIntentDefault); view.layer.contents = (id) im; CGImageRelease(im); CGDataProviderRelease(dp); This works fine except that there is no throttle so this will draw as fast as the CPU allows, which of course is a waste of CPU cycles because the monitor only refreshes a certain amount of times per second. So is there a convenient way to throttle drawing to the monitor's refresh rate or does this have to be done the hard way by querying the monitor's refresh rate and then setting up a timer which draws in exactly those refresh intervals or how should this be done? Note that I'd like to avoid using OpenGL or Metal or whatever is the standard nowadays but I'm mainly interested in an AppKit solution... -- Best regards, Andreas Falkenhahn mailto:andr...@falkenhahn.com _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com