У меня есть пользовательский класс NSView
, который я портирую из OpenGL в Metal для рендеринга на GPU.Много мест в коде, ранее мы использовали для вызова setNeedsDisplayInRect
с недействительным прямоугольником на NSView
, который я запрашивал во время вызова drawRect
для отображения окончательного содержимого на экране.
Для перехода в Metal я добавил CAMetalLayer
в свой пользовательский класс NSView
.С добавлением этого CAMetalLayer
, getRectsBeingDrawn
возвращает NULL
.
- Мы говорим, что
getRectsBeingDrawn
работает только для NSViews без слоя / неметаллического слоя?
Более того, я также вижу setNeedsDisplayInRect
в CALayer
, но я не вижу геттера, как getRectsBeingDrawn
в CALayer
.
Должен ли я перейти к
setNeedsDisplayInRect
в
CALayer
для грязных ритейлов в случае слоев с поддержкой слоев?Но опять же, как мне восстановить эти грязные места?