MTKView не виден в определенных разрешениях - PullRequest
0 голосов
/ 28 августа 2018

Шейдеры (фрагмент) не отображаются на экране при некоторых разрешениях.

Рабочая: 720x1280, 888x1024, 128x128, 1920x1080, 1080x1920, 1125x2436, 500x500

Не работает: 1280x720, 1024x888, 256x256, 512x512, 1024x1024, 1536x1536, 768x768

Во всех примерах, хотя данные о пикселях моих MTKView CAMetalDrawable MTLTexture выглядят хорошо. Для отладки я распечатал сетку ascii art из выбранных пикселей и вижу ожидаемое изображение. Также проверено преобразование текстуры в изображение и добавление его в представление изображения, и просмотр результата.

Также теперь протестировано с преобразованием MTLTexture в UIImage, и все разрешения выглядят хорошо.

Таким образом, рендеринг всегда успешен, хотя вероятность того, что он отобразится на экране, составляет 50/50.

Кто-нибудь видел это раньше?

Вот настройки рендеринга.

Протестировано на iOS 12, Xcode 10 и 10.2, на iPhone X и iPad Pro.

...