2013-06-06 3 views
0

В настоящее время я пишу презентационное приложение, показывающее изображения и видео, полный экран на нескольких мониторах. Изображения и видео отображаются один за другим и исчезают.Оптимальное Fade In and Out of NSView

В настоящий момент у меня есть правильная работа, но затухание не является гладким, есть немного заикание. В моем коде в настоящее время отображается альфа на каждом из отображаемых компонентов.

[[self.videoView animator] setAlphaValue:1.0f]; 

Есть ли способы сделать это, что улучшит производительность на OSX?

Например, при использовании cocos2D на iPhone более эффективно убирать цветной слой вверх и вниз по содержимому, чем в том, чтобы затухать сам контент (т. Е. Анимировать альфа на самом простом компоненте). Тем не менее, я не вижу ничего в Cocoa, который позволит ему упростить расчеты, которые он делает (т. Е. Нет простой концепции слоя с плоским цветом).

Надеюсь, что это ясно! Спасибо.

+0

Вы также можете использовать cocos2d для OS X. Это может быть не только для игр. – uchuugaka

+0

Это правда, конечно, хотя для этого проекта большинство функций было проще в Cocoa. – Giles

ответ

0

Создание всех NSViews в слое иерархии обеспечивает значительное улучшение производительности этих переходов.

[self setWantsLayer:YES];