У меня есть NSView, который отображает некоторые вещи CoreImage в методе drawRect :. Все работает нормально, пока я выполняю рендеринг в hw-ускоренном контексте, но если я переключаюсь в программный режим, у меня появляются сообщения об ошибках в консоли для каждого рендера:
<Error>: CGBitmapContextGetBitsPerComponent: invalid context 0x1084740 This isn't a bitmap context. Forcing destination format to ARGB_8 for CGContext.
<Error>: CGBitmapContextGetBitsPerComponent: invalid context 0x1084740
Подобная проблема возникает, когда я рендерим композицию кварца в CIContext моего NSView. Я получаю CIImage от QCRenderer и рисую его в drawRect: метод, однако у меня появляется ошибка каждый вызов [CIContext drawImage:]:
<Error>: unknown error code: invalid context
Несмотря на эту ошибку, фактический рендеринг успешен, и все выглядит хорошо (визуально). Похоже, что такие проблемы возникают при рендеринге на экране, рендеринг в закадровый контекст растрового изображения не вызывает такой проблемы.
Кто-нибудь может сказать, как избежать этой проблемы при рисовании на экране (кроме использования буфера памяти вне экрана для рисования - это замедляет работу)?