Я пытаюсь сделать снимок экрана представления MetalKit (MTKView), как в ответе Сделайте снимок текущего экрана с помощью Metal в быстром режиме, но для этого необходимо, чтобы MTKView установил для framebufferOnly значение false, что, согласно Apple, отключает некоторые оптимизации.
Есть ли способ скопировать текстуру MTKView (например, view.currentDrawable.texture), чтобы я мог читать пиксели? Мне не нужно часто делать скриншоты, поэтому было бы обидно отключать оптимизацию на весь жизненный цикл работающей программы.
Я пробовал использовать буферы MTLTexture.newTextureViewWithPixelFormat и blit, но все равно получаю то же исключение, что только буфер кадра является истинным.