> On Aug 24, 2016, at 12:59 PM, Jeff Szuhay <j...@szuhay.org> wrote:
> 
> 
>> On Aug 24, 2016, at 10:37 AM, Jean-Daniel Dupas <mail...@xenonium.com 
>> <mailto:mail...@xenonium.com>> wrote:
>> 
>>> Moreover, the performance will greatly depends the sampling algorithm you 
>>> choose. CGImage provide a couple of algorithms with different tradeoff (see 
>>> CGContextSetInterpolationQuality() and NSImage and UIImage equivalents).
>> 
>> Just for the record, here is a link with different technics available on OS 
>> X to do that: 
>> 
>> http://nshipster.com/image-resizing/ <http://nshipster.com/image-resizing/>
> 
> Yeah, but CoreImage is a different kettle of fish.  CoreImage has deprecated 
> the creation of a core image from layers, in favor of bitmaps and 
> static image sources.
> 
> I’m writing an app for Mac OS X/macOS using primarily CoreGraphics and 
> Quartz2D with a smattering of image filters for special effects.
> I draw my images (clocks) into a “reference” sized rectangle—for simplified 
> position calculations—and then have CoreGraphics scale into the destination 
> view rect.
> 
> On my rather old but quite functional 2007 MBP, I notice a considerable 
> difference in CPU use when the clocks are on the laptop main screen (low CPU) 
> versus on a 2nd monitor (high CPU—about 4x). I’ve surmised that the main 
> screen is GPU assisted wheres the 2nd monitor is not. Same clock, just on 
> different screens. I have yet to test whether this will be true on newer 
> MacBookPros with different video cabling/interfaces. 
> 
> I’m in the process of converting my clocks to draw exclusively into offscreen 
> layers (instead of drawing their parts into the device context directly), 
> composing them only when needed, and finally drawing into the view’s graphic 
> context. This, as we’ll soon see, depends upon how efficient the 
> CGContextDrawLayerInRect is when the sour layer and target context are of 
> different sizes—in a single call. 
> 
> Now I’m wondering if an intermediate transformation to scale the layer to the 
> same size as the context and then just call CGContextDrawLayerAtPoint would 
> be more efficient. 
> 
> And, yeah, I’m trying to trade off CPU work for GPU work, and get more work 
> done on the GPU.
> 

Oh, maybe I spoke too soon… Reading the Interpolation section in Programming 
With Quartz
_______________________________________________

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

Reply via email to