Основная анимация: странные ошибки отображения при перетаскивании после анимации - PullRequest
0 голосов
/ 28 февраля 2012

У меня есть приложение Cocoa, которое использует Core Animation для различных пользовательских анимаций (вращение, перспектива и т. Д.). Приложение позволяет пользователю перетаскивать файлы из окна приложения на рабочий стол.

Время от времени, когда я перетаскиваю файл из своего приложения на рабочий стол и жду около 2 секунд, прежде чем сбросить файл, я замечаю очень странные ошибки отображения (см. Скриншот).

Я захватил их с помощью записи экрана. Они кажутся фрагментами более ранней анимации, сделанной моим приложением.

Я могу последовательно воспроизвести его: ошибка появляется, когда у меня одновременно работают другие конкретные приложения. Два из них:

  • Xcode
  • ScreenFlow

Возможно ли, что эти приложения также используют Core Animation / OpenGL таким образом, что конфликтует с моим приложением (или, возможно, потребляет слишком много памяти OpenGL)?

Я запускаю операцию перетаскивания в представлении размещения слоя следующим образом:

NSPoint pointOfClick = [self convertPoint:[theEvent locationInWindow] fromView:nil];
NSImage *image = [NSImage imageNamed:NSImageNameInfo]; // For testing purposes only
[image setSize:NSMakeSize(50.0, 50.0)];

[self dragImage:image
             at:pointOfClick
         offset:NSZeroSize
          event:theEvent 
     pasteboard:pboard 
         source:self 
      slideBack:NO];

display errors

...