В моем 3D-приложении я обрабатываю NSWindowWillCloseNotification
для выполнения очистки (остановка отображения ссылки, освобождение ресурсов и т. Д.). Приложение может работать в двух режимах, OpenGL и Metal. Существует класс ViewBase
, который реализует общие функциональные возможности и среди прочего обрабатывает уведомление.
В режиме OpenGL все работает нормально, однако в режиме Metal при выходе из полноэкранного окна принимается NSWindowWillCloseNotification
, в результате чего приложение перестает отображать что-либо. Единственное значимое различие между Metal и OpenGL заключается в том, что в Metal view используется слой подложки, но я не знаю, почему это может иметь значение.
Я совершенно не понимаю, почему это может произойти, и буду признателен за любую помощь.