, хотя google nexus 6P не классифицируется как «Daydream-Ready», он может использоваться как платформа разработки для Daydream. Кто-нибудь протестировал Async Reprojection на Nexus 6P и может подтвердить, что он поддерживает Front-Buffer bzw. Рендеринг с одним буфером или поддерживает расширение EGL_MUTABLE_RENDER_BUFFER_BIT_KHR на Android 7?Daydream Async Reprojection Nexus6P
ответ
Я нашел этот сайт http://opengles.gpuinfo.org/gles_generatereport.php?reportID=932, в котором перечислены расширения EGL для большинства телефонов. Согласно Specs, EGL_MUTABLE_RENDER_BUFFER_BIT_KHR кстати. EGL_KHR_mutable_render_buffer поддерживается на Nexus 6P. Другие телефоны, которые поддерживают «Front Buffer Rendering», и поэтому будут способны «Async Reprojection»: Nexus6P, Nexus 5X и Google Pixel. Удивительно, но это всего лишь несколько телефонов, хотя по состоянию на 28.11.2016 Moto Z рекламируется как «готовый к мечте». Вероятно, база данных для Moto Z еще не обновлена. Таким образом, HW Nexus6P способен к асинхронному воспроизведению (и, следовательно, к югу от 20 мс к движению за счет латентности фотонов) и, вероятно, поддерживает асинхронную репроцессию в мечтах, хотя и не классифицируется как готовый к мечте.
подтверждено на 6P. Async Reprojection - это функция рендеринга Front-buffer. латентность составляет около 20 мс по сравнению с 80 + мс без нее.
он будет визуализировать с помощью Timewrapping в новой теме.
Теперь я могу также подтвердить, что как на Nexus5X, так и Nexus6P можно создать допустимую конфигурацию EGL, которая позволяет визуализировать передний буфер. Эфир добавления
EGL_SURFACE_TYPE, EGL_MUTABLE_RENDER_BUFFER_BIT_KHR
к списку атрибутов контекста, а затем toggeling между передним и задним буфером, или просто добавляя
EGL_RENDER_BUFFER, EGL_SINGLE_BUFFER к списку surfaceAttribs.
Это создаст поверхность, которая работает только в режиме одиночного буфера, а также может работать на всех устройствах Android 7, даже на устройствах без «изменяемого» расширения. Но я не мог протестировать второй подход на телефонах с android 7, но без «изменчивого» расширения.
Конечно, поскольку Google решил не классифицировать Nexus5X как «готовый к мечте», Async-перепрограммирование работает только на Nexus6P (и на других телефонах, поддерживающих мечты).
Но достижение суб-20 мс задержка от движения к фотону, рисуя непосредственно в передний буфер, и синхронизация рендеринга каждого глаза с отображением экрана также возможна на Nexus5X, как я выяснил, когда я разработал метод, называемый «визуализирующий визуализацию переднего буфера с коррекцией искажений смещения вершин».
Я тестировал второй метод сверху (создание единственной буферизованной поверхности gl на андроиде) также на телефоне, который не имеет расширения «Mutable», но Android 7, и он работал. –