Le 6 mars 09 à 20:42, Jean-Daniel Dupas a écrit :

Le 6 mars 09 à 20:33, Sebastian Morsch a écrit :


I wrote a delegate that draws a bezel inside a CALayer using NSDrawNinePartImage. The drawing happens inside the drawLayer:inContext: method and it works well. The only problem is that it redraws really slow when the layers frame is resized by the user.

The layer is simply attached to a custom view for testing the whole thing. This view is the only view of a window, and when I resize that window, my layer is resized too. But it feels very clunky.

I was wondering if I'm doing something really stupid here... Does anybody know if there's a better way to tackle this?

Thank you!

If you want to know why your code is slow, use the Xcode Debug Menu > Launch Using Performance Tool > Shark.

To be exact, this is the Menu

Run > Start With Performance Tool > Shark

Shark will give you better and more accurate answer.

My guess is that you are creating the images at each call, which require to read them from disk, and decode them and is very slow.

Just an other details, instead of creating the color at each call, you can use CGContextSetRGBFillColor(ctx, 0, 0, 1, .2).


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:

This email sent to arch...@mail-archive.com

Reply via email to