В моем приложении Metal для macOS у меня возникла ситуация, когда я хочу только время от времени отображать результаты рендеринга. Я хочу выполнять проход рендеринга каждый кадр и сохранять изображение текстуры в файл, но я хочу отображать рендеринг только каждый шестнадцатый кадр или около того. Я пробовал просто пропустить commandBuffer.present (drawable), когда я не хочу отображать, но он не работает. Как только я это сделаю, он просто перестанет отображать новые кадры. После пропуска одного вызова commandBuffer.present () он просто не отображает никаких новых кадров. Однако он продолжает работать.
Почему так могло случиться? Требуется ли, чтобы после фиксации командного буфера он был представлен?
Если я не могу заставить это работать, я попытаюсь выполнить рендеринг во внеэкранном буфере для тех кадров, которые я не хочу отображать. Но это будет лишняя работа и потребует больше памяти для закадрового буфера рендеринга, поэтому я бы предпочел просто использовать свой обычный экранный буфер рендеринга, если это возможно.
Спасибо!