我正在尝试截取 MetalKit 视图 (MTKView) 的屏幕截图,如答案Take a snapshot of current screen with Metal in swift但它要求 MTKView 将 framebufferOnly 设置为 false,这会根据 Apple 禁用一些优化。
有没有办法复制 MTKView 纹理(例如 view.currentDrawable.texture)以便我可以读取像素?我不需要经常截图,所以禁用程序运行的整个生命周期的优化将是一种耻辱。
我尝试使用 MTLTexture.newTextureViewWithPixelFormat 和 blit 缓冲区,但我仍然得到相同的异常,即帧缓冲区仅是真的。