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

привет, у меня та же проблема, портирую мое приложение openGL на металл, а getRectsBeingDrawn возвращает NULL. stackoverflow.com/questions/60057910/…