Инструменты и расширенные функции,Инструменты и расширенные функции,Инструменты и расширенные функции

Отладчики

Отладка с использованием уровня проверки

Vulkan разработан для обеспечения высокой производительности и низких затрат на драйверы. Для достижения этой цели по умолчанию он включает лишь очень ограниченные возможности проверки ошибок и отладки. Если вы сделаете что-то не так, драйвер часто выйдет из строя вместо того, чтобы вернуть код ошибки, или, что еще хуже, он будет работать на вашей видеокарте, но совершенно не будет работать на других.

Чтобы обеспечить расширенные проверки во время разработки, Vulkan предоставляет уровни проверки, которые представляют собой фрагменты кода, которые можно вставлять между API и графическим драйвером для выполнения таких действий, как выполнение дополнительных проверок параметров функций и отслеживание проблем с управлением памятью. Вы можете включить уровни проверки во время разработки и полностью отключить их при выпуске приложения без каких-либо затрат.

Слои проверки могут быть написаны кем угодно, но Khronos предоставляет единый стандартный набор под названием VK_LAYER_KHRONOS_validation . Ознакомьтесь со слоями проверки Vulkan на Android на странице Android NDK, чтобы включить уровень проверки в своем приложении.

РендерДок

RenderDoc — еще один мощный инструмент с открытым исходным кодом, который позволяет захватывать кадр для проверки и анализа. Это очень мощный инструмент, который используется графическими программистами для отладки визуализированных сцен. Он хорошо поддерживает Vulkan на Android, хотя для его работы ваше приложение должно быть настроено как отлаживаемое .

Информацию о том, как настроить и использовать его в приложении Android, можно найти в разделе «Как использовать RenderDoc на Android» .

Библиотеки захвата/воспроизведения

GFXReconstruct

GFXReconstruct — это проект с открытым исходным кодом, который предоставляет инструменты для захвата и воспроизведения вызовов графического API, выполняемых приложением. Записанную трассировку позже можно воспроизвести, чтобы восстановить графическое поведение записанного приложения. Одним из основных преимуществ GFXReconstruct является то, что он позволяет использовать его в выпущенном приложении (когда вы отключили android:debuggable ).

Для получения дополнительной информации посетите репозиторий проекта. Информация о настройке и использовании Vulkan на Android доступна в GFXReconstruct API Capture and Replay для Android .

Обратите внимание, что файлы трассировки не являются переносимыми, а это означает, что вы не можете записать файл на одном устройстве и воспроизвести его на другом устройстве (с другой версией ОС, набором микросхем или даже версией драйвера).

Профайлеры

Инспектор графического процессора Android (AGI)

Android GPU Inspector (AGI) — это профилировщик графики, созданный для Android, который включает в себя профиль системы и профилировщик кадров . Он предоставляет высокоуровневую информацию о профилировании, которая позволяет вам понять профиль производительности вашей игры и выявить узкие места.

Чтобы загрузить AGI и узнать, как его использовать, посетите веб-сайт Android GPU Inspector .

Профилировщик Android Studio

Android Studio Profiler — полезный инструмент для профилирования производительности вашего приложения. Однако он не предназначен специально для профилирования графики. Он состоит из профилировщика ЦП, профилировщика памяти, профилировщика сети, профилировщика энергопотребления, профилировщика мощности и монитора событий.

Для получения дополнительной информации о том, как настроить и использовать Android Studio Profiler, посетите раздел «Профилирование производительности вашего приложения» .

OEM-профилировщики

Инструменты в этом разделе предназначены только для OEM-производителей и могут не работать на устройствах, работающих на других чипах.

ARM Performance Studio для мобильных устройств

Arm Performance Studio for Mobile — это новое название Arm Mobile Studio. Это набор инструментов, включающий графический анализатор и советник по кадрам , который поможет вам выявить и устранить проблемы с производительностью графических процессоров ARM.

Для получения дополнительной информации посетите веб-сайт Arm Performance Studio for Mobile .

ARM PerfDoc для графических процессоров Mali

PerfDoc — это уровень Vulkan, разработанный для проверки приложений на соответствие лучшим практикам графического процессора Mali от ARM. С тех пор он был объединен с VK_LAYER_KHRONOS_validation и по сути является частью стандартных слоев проверки Vulkan.

Информацию о том, как его использовать, см. в разделе «Отладка с уровнем проверки» .

Профилировщик Qualcomm Snapdragon

Qualcomm Snapdragon Profiler — это программное обеспечение для профилирования, разработанное Qualcomm для разработчиков приложений для анализа производительности процессора, графического процессора, DSP, памяти, питания, температуры и сети для выявления узких мест в их наборах микросхем.

Для получения дополнительной информации посетите Snapdragon Profiler в сети разработчиков Qualcomm .

Samsung GPUЧасы

GPUWatch от Samsung — это инструмент для наблюдения за активностью графического процессора на устройствах Samsung. В отличие от других инструментов, вы можете использовать этот инструмент непосредственно со своего мобильного устройства, поэтому очень удобно сразу же проверить производительность вашего приложения, даже если у вас нет доступа к другому хост-компьютеру.

Для получения дополнительной информации о том, как его включить, ознакомьтесь с Руководством пользователя .

PVRTune

PVRTune от Imagination Technologies позволяет разработчикам профилировать приложения на оборудовании PowerVR в режиме реального времени с помощью широкого набора счетчиков и показателей. Это также позволяет сохранить сеанс для дальнейшего низкоуровневого анализа и обнаружения узких мест в производительности.

Для получения дополнительной информации о том, как использовать PVRTune, ознакомьтесь с Руководством .

Инструменты миграции

Преобразование шейдеров из GLSL в SPIR-V

API Vulkan ожидает, что шейдерные программы будут предоставляться в двоичном промежуточном формате SPIR-V. Это соглашение отличается от OpenGL ES, где вы можете отправлять исходный код, написанный на языке шейдинга OpenGL (GLSL), в виде текстовых строк.

NDK r12 и более поздние версии включают библиотеку времени выполнения для компиляции шейдеров GLSL в SPIR-V, которую может использовать Vulkan. Компилятор shaperc можно использовать для компиляции программ шейдеров, написанных на GLSL, в SPIR-V. Если ваша игра использует HLSL, DirectXShaderCompiler поддерживает вывод SPIR-V.

Как правило, вам потребуется скомпилировать программы шейдеров в автономном режиме в рамках процесса создания ресурсов для вашей игры и включить модули SPIR-V как часть ресурсов среды выполнения.

Для получения дополнительной информации о процессе компиляции шейдеров для вашего приложения Vulkan ознакомьтесь с компиляторами шейдеров Vulkan для Android в разделе Android NDK.

Расширенные функции

Интегрируйте Android Frame Pacing в свой рендерер Vulkan.

Библиотека Android Frame Pacing (также известная как Swappy) помогает играм Vulkan добиться плавного рендеринга и правильного темпа, чтобы синхронизировать цикл рендеринга игры с подсистемой отображения ОС и базовым аппаратным обеспечением дисплея.

Правильная синхронизация устраняет визуальные артефакты, известные как разрывы изображения, оптимизирует энергопотребление за счет синхронизации между обновлением дисплея и представлением кадров, а также устраняет зависания за счет стабилизации частоты кадров. Чтобы узнать больше о важности синхронизации кадров, посетите раздел «Библиотека синхронизации кадров » AGDK.

Для получения дополнительной информации о том, как интегрировать частоту кадров в вашу игру, ознакомьтесь со статьей «Интеграция синхронизации кадров Android в ваш рендерер Vulkan» .

Управление ориентацией устройства с помощью предварительного вращения Vulkan

Обработка вращения поверхности вне приложения может быть платной. Даже на некоторых устройствах более высокого класса с выделенным процессором дисплея (DPU) все равно, вероятно, придется платить измеримое снижение производительности, и влияние будет зависеть от того, привязано ли ваше приложение к процессору или к графическому процессору.

Vulkan предоставляет разработчикам возможность указывать устройствам гораздо больше информации о состоянии рендеринга по сравнению с OpenGL. Одной из таких сведений является ориентация устройства и ее связь с ориентацией поверхности . Эта возможность позволяет реализовать предварительную ротацию, чтобы максимально эффективно использовать Vulkan на Android.

Для получения дополнительной информации о том, как эффективно обрабатывать поворот устройства в приложении Vulkan, ознакомьтесь со статьей Управление ориентацией устройства с помощью предварительного поворота Vulkan и сопутствующим демонстрационным приложением .

Оптимизация с пониженной точностью

Числовой формат графических данных и расчеты шейдеров могут оказать существенное влияние на производительность вашей игры. Большинство вычислений и данных в современной 3D-графике используют числа с плавающей запятой. Vulkan на Android использует числа с плавающей запятой длиной 32 или 16 бит. 32-битное число с плавающей запятой обычно называют одинарной или полной точностью. Хотя в Vulkan определен 64-битный тип с плавающей запятой, он обычно не поддерживается и его использование не рекомендуется.

Ознакомьтесь с разделом «Оптимизация с пониженной точностью», чтобы получить информацию о том, как оптимизировать приложение Vulkan для достижения наилучшей производительности при выполнении арифметических операций.

,

Отладчики

Отладка с использованием уровня проверки

Vulkan разработан для обеспечения высокой производительности и низких затрат на драйверы. Для достижения этой цели по умолчанию он включает лишь очень ограниченные возможности проверки ошибок и отладки. Если вы сделаете что-то не так, драйвер часто будет аварийно завершать работу вместо того, чтобы возвращать код ошибки, или, что еще хуже, он будет работать на вашей видеокарте, но полностью не работать на других.

Чтобы обеспечить расширенные проверки во время разработки, Vulkan предоставляет уровни проверки, которые представляют собой фрагменты кода, которые можно вставлять между API и графическим драйвером для таких действий, как выполнение дополнительных проверок параметров функций и отслеживание проблем с управлением памятью. Вы можете включить уровни проверки во время разработки и полностью отключить их при выпуске приложения без каких-либо затрат.

Слои проверки могут быть написаны кем угодно, но Khronos предоставляет единый стандартный набор под названием VK_LAYER_KHRONOS_validation . Ознакомьтесь со слоями проверки Vulkan на Android на странице Android NDK, чтобы включить уровень проверки в своем приложении.

РендерДок

RenderDoc — еще один мощный инструмент с открытым исходным кодом, который позволяет захватывать кадр для проверки и анализа. Это очень мощный инструмент, который используется графическими программистами для отладки визуализированных сцен. Он хорошо поддерживает Vulkan на Android, хотя для его работы ваше приложение должно быть настроено как отлаживаемое .

Информацию о том, как настроить и использовать его в приложении Android, см. в разделе «Как использовать RenderDoc на Android» .

Библиотеки захвата/воспроизведения

GFXReconstruct

GFXReconstruct — это проект с открытым исходным кодом, который предоставляет инструменты для захвата и воспроизведения вызовов графического API, выполняемых приложением. Записанную трассировку позже можно воспроизвести, чтобы восстановить графическое поведение записанного приложения. Одним из основных преимуществ GFXReconstruct является то, что он позволяет использовать его в выпущенном приложении (когда вы отключили android:debuggable ).

Для получения дополнительной информации посетите репозиторий проекта. Информация о настройке и использовании Vulkan на Android доступна в GFXReconstruct API Capture and Replay для Android .

Обратите внимание, что файлы трассировки не являются переносимыми, а это означает, что вы не можете записать файл на одном устройстве и воспроизвести его на другом устройстве (с другой версией ОС, набором микросхем или даже версией драйвера).

Профайлеры

Инспектор графического процессора Android (AGI)

Android GPU Inspector (AGI) — это профилировщик графики, созданный для Android, который включает в себя профиль системы и профилировщик кадров . Он предоставляет информацию о профилировании высокого уровня, которая позволяет вам понять профиль производительности вашей игры и выявить узкие места.

Чтобы загрузить AGI и узнать, как его использовать, посетите веб-сайт Android GPU Inspector .

Профилировщик Android Studio

Android Studio Profiler — полезный инструмент для профилирования производительности вашего приложения. Однако он не предназначен специально для профилирования графики. Он состоит из профилировщика ЦП, профилировщика памяти, профилировщика сети, профилировщика энергопотребления, профилировщика мощности и монитора событий.

Для получения дополнительной информации о том, как настроить и использовать Android Studio Profiler, посетите раздел «Профилирование производительности вашего приложения» .

OEM-профилировщики

Инструменты в этом разделе предназначены только для OEM-производителей и могут не работать на устройствах, работающих на других чипах.

ARM Performance Studio для мобильных устройств

Arm Performance Studio for Mobile — это новое название Arm Mobile Studio. Это набор инструментов, включающий графический анализатор и советник по кадрам , который поможет вам выявить и устранить проблемы с производительностью графических процессоров ARM.

Для получения дополнительной информации посетите веб-сайт Arm Performance Studio for Mobile .

ARM PerfDoc для графических процессоров Mali

PerfDoc — это уровень Vulkan, разработанный для проверки приложений на соответствие лучшим практикам графического процессора Mali от ARM. С тех пор он был объединен с VK_LAYER_KHRONOS_validation и по сути является частью стандартных слоев проверки Vulkan.

Информацию о том, как его использовать, см. в разделе «Отладка с уровнем проверки» .

Профилировщик Qualcomm Snapdragon

Qualcomm Snapdragon Profiler — это программное обеспечение для профилирования, разработанное Qualcomm для разработчиков приложений для анализа производительности процессора, графического процессора, DSP, памяти, питания, температуры и сети для выявления узких мест в их наборах микросхем.

Для получения дополнительной информации посетите Snapdragon Profiler в сети разработчиков Qualcomm .

Samsung GPUЧасы

GPUWatch от Samsung — это инструмент для наблюдения за активностью графического процессора на устройствах Samsung. В отличие от других инструментов, вы можете использовать этот инструмент непосредственно со своего мобильного устройства, поэтому очень удобно сразу же проверить производительность вашего приложения, даже если у вас нет доступа к другому хост-компьютеру.

Дополнительную информацию о том, как включить эту функцию, можно найти в Руководстве пользователя .

PVRTune

PVRTune от Imagination Technologies позволяет разработчикам профилировать приложения на оборудовании PowerVR в режиме реального времени с помощью широкого набора счетчиков и показателей. Это также позволяет сохранить сеанс для дальнейшего низкоуровневого анализа и обнаружения узких мест в производительности.

Для получения дополнительной информации о том, как использовать PVRTune, ознакомьтесь с Руководством .

Инструменты миграции

Преобразование шейдеров из GLSL в SPIR-V

API Vulkan ожидает, что шейдерные программы будут предоставляться в двоичном промежуточном формате SPIR-V. Это соглашение отличается от OpenGL ES, где вы можете отправлять исходный код, написанный на языке шейдинга OpenGL (GLSL), в виде текстовых строк.

NDK r12 и более поздние версии включают библиотеку времени выполнения для компиляции шейдеров GLSL в SPIR-V, которую может использовать Vulkan. Компилятор shaperc можно использовать для компиляции программ шейдеров, написанных на GLSL, в SPIR-V. Если ваша игра использует HLSL, DirectXShaderCompiler поддерживает вывод SPIR-V.

Как правило, вам потребуется скомпилировать программы шейдеров в автономном режиме в рамках процесса создания ресурсов для вашей игры и включить модули SPIR-V как часть ресурсов среды выполнения.

Для получения дополнительной информации о процессе компиляции шейдеров для вашего приложения Vulkan ознакомьтесь с компиляторами шейдеров Vulkan для Android в разделе Android NDK.

Расширенные функции

Интегрируйте Android Frame Pacing в свой рендерер Vulkan.

Библиотека Android Frame Pacing (также известная как Swappy) помогает играм Vulkan добиться плавного рендеринга и правильного темпа, чтобы синхронизировать цикл рендеринга игры с подсистемой отображения ОС и базовым аппаратным обеспечением дисплея.

Правильный темп устраняет визуальные артефакты, известные как разрывы изображения, оптимизирует энергопотребление за счет синхронизации между обновлением дисплея и представлением кадров, а также устраняет зависания за счет стабилизации частоты кадров. Чтобы узнать больше о важности синхронизации кадров, посетите раздел «Библиотека синхронизации кадров » AGDK.

Для получения дополнительной информации о том, как интегрировать частоту кадров в вашу игру, ознакомьтесь со статьей «Интеграция синхронизации кадров Android в ваш рендерер Vulkan» .

Управление ориентацией устройства с помощью предварительного вращения Vulkan

Обработка вращения поверхности вне приложения может быть платной. Даже на некоторых устройствах более высокого класса со специальным процессором дисплея (DPU) все равно, вероятно, придется платить измеримое снижение производительности, и влияние будет зависеть от того, привязано ли ваше приложение к ЦП или к графическому процессору.

Vulkan предоставляет разработчикам возможность указывать устройствам гораздо больше информации о состоянии рендеринга по сравнению с OpenGL. Одной из таких сведений является ориентация устройства и ее связь с ориентацией поверхности . Эта возможность позволяет реализовать предварительную ротацию, чтобы максимально эффективно использовать Vulkan на Android.

Для получения дополнительной информации о том, как эффективно обрабатывать поворот устройства в приложении Vulkan, ознакомьтесь со статьей Управление ориентацией устройства с помощью предварительного поворота Vulkan и сопутствующим демонстрационным приложением .

Оптимизация с пониженной точностью

Числовой формат графических данных и расчеты шейдеров могут оказать существенное влияние на производительность вашей игры. Большинство вычислений и данных в современной 3D-графике используют числа с плавающей запятой. Vulkan на Android использует числа с плавающей запятой длиной 32 или 16 бит. 32-битное число с плавающей запятой обычно называют одинарной или полной точностью. Хотя в Vulkan определен 64-битный тип с плавающей запятой, он обычно не поддерживается и его использование не рекомендуется.

Ознакомьтесь с разделом «Оптимизация с пониженной точностью», чтобы получить информацию о том, как оптимизировать приложение Vulkan для достижения наилучшей производительности при выполнении арифметических операций.

,

Отладчики

Отладка с использованием уровня проверки

Vulkan разработан для обеспечения высокой производительности и низких затрат на драйверы. Для достижения этой цели по умолчанию он включает лишь очень ограниченные возможности проверки ошибок и отладки. Если вы сделаете что-то не так, драйвер часто выйдет из строя вместо того, чтобы вернуть код ошибки, или, что еще хуже, он будет работать на вашей видеокарте, но совершенно не будет работать на других.

Чтобы обеспечить расширенные проверки во время разработки, Vulkan предоставляет уровни проверки, которые представляют собой фрагменты кода, которые можно вставлять между API и графическим драйвером для таких действий, как выполнение дополнительных проверок параметров функций и отслеживание проблем с управлением памятью. Вы можете включить уровни проверки во время разработки и полностью отключить их при выпуске приложения без каких-либо затрат.

Слои проверки могут быть написаны кем угодно, но Khronos предоставляет единый стандартный набор под названием VK_LAYER_KHRONOS_validation . Ознакомьтесь со слоями проверки Vulkan на Android на странице Android NDK, чтобы включить уровень проверки в своем приложении.

РендерДок

RenderDoc — еще один мощный инструмент с открытым исходным кодом, который позволяет захватывать кадр для проверки и анализа. Это очень мощный инструмент, который используется графическими программистами для отладки визуализированных сцен. Он хорошо поддерживает Vulkan на Android, хотя для его работы ваше приложение должно быть настроено как отлаживаемое .

Информацию о том, как настроить и использовать его в приложении Android, можно найти в разделе «Как использовать RenderDoc на Android» .

Библиотеки захвата/воспроизведения

GFXReconstruct

GFXReconstruct — это проект с открытым исходным кодом, который предоставляет инструменты для захвата и воспроизведения вызовов графического API, выполняемых приложением. Записанную трассировку позже можно воспроизвести, чтобы восстановить графическое поведение записанного приложения. Одним из основных преимуществ GFXReconstruct является то, что он позволяет использовать его в выпущенном приложении (когда вы отключили android:debuggable ).

Для получения дополнительной информации посетите репозиторий проекта. Информация о настройке и использовании Vulkan на Android доступна в GFXReconstruct API Capture and Replay для Android .

Обратите внимание, что файлы трассировки не являются переносимыми, а это означает, что вы не можете записать файл на одном устройстве и воспроизвести его на другом устройстве (с другой версией ОС, набором микросхем или даже версией драйвера).

Профайлеры

Инспектор графического процессора Android (AGI)

Android GPU Inspector (AGI) — это профилировщик графики, созданный для Android, который включает в себя профиль системы и профилировщик кадров . Он предоставляет высокоуровневую информацию о профилировании, которая позволяет вам понять профиль производительности вашей игры и выявить узкие места.

Чтобы загрузить AGI и узнать, как его использовать, посетите веб-сайт Android GPU Inspector .

Профилировщик Android Studio

Android Studio Profiler — полезный инструмент для профилирования производительности вашего приложения. Однако он не предназначен специально для профилирования графики. Он состоит из профилировщика ЦП, профилировщика памяти, профилировщика сети, профилировщика энергопотребления, профилировщика мощности и монитора событий.

Для получения дополнительной информации о том, как настроить и использовать Android Studio Profiler, посетите раздел «Профилирование производительности вашего приложения» .

OEM-профилировщики

Инструменты в этом разделе предназначены только для OEM-производителей и могут не работать на устройствах, работающих на других чипах.

ARM Performance Studio для мобильных устройств

Arm Performance Studio for Mobile — это новое название Arm Mobile Studio. Это набор инструментов, включающий графический анализатор и советник по кадрам , который поможет вам выявить и устранить проблемы с производительностью графических процессоров ARM.

Для получения дополнительной информации посетите веб-сайт Arm Performance Studio for Mobile .

ARM PerfDoc для графических процессоров Mali

PerfDoc — это уровень Vulkan, разработанный для проверки приложений на соответствие лучшим практикам графического процессора Mali от ARM. С тех пор он был объединен с VK_LAYER_KHRONOS_validation и по сути является частью стандартных слоев проверки Vulkan.

Информацию о том, как его использовать, см. в разделе «Отладка с уровнем проверки» .

Профилировщик Qualcomm Snapdragon

Qualcomm Snapdragon Profiler — это программное обеспечение для профилирования, разработанное Qualcomm для разработчиков приложений для анализа производительности процессора, графического процессора, DSP, памяти, питания, температуры и сети для выявления узких мест в их наборах микросхем.

Для получения дополнительной информации посетите Snapdragon Profiler в сети разработчиков Qualcomm .

Samsung GPUЧасы

GPUWatch от Samsung — это инструмент для наблюдения за активностью графического процессора на устройствах Samsung. В отличие от других инструментов, вы можете использовать этот инструмент непосредственно со своего мобильного устройства, поэтому очень удобно сразу же проверить производительность вашего приложения, даже если у вас нет доступа к другому хост-компьютеру.

Дополнительную информацию о том, как включить эту функцию, можно найти в Руководстве пользователя .

PVRTune

PVRTune от Imagination Technologies позволяет разработчикам профилировать приложения на оборудовании PowerVR в режиме реального времени с помощью широкого набора счетчиков и показателей. Это также позволяет сохранить сеанс для дальнейшего низкоуровневого анализа и обнаружения узких мест в производительности.

Для получения дополнительной информации о том, как использовать PVRTune, ознакомьтесь с Руководством .

Инструменты миграции

Преобразование шейдеров из GLSL в SPIR-V

API Vulkan ожидает, что шейдерные программы будут предоставляться в двоичном промежуточном формате SPIR-V. Это соглашение отличается от OpenGL ES, где вы можете отправлять исходный код, написанный на языке шейдинга OpenGL (GLSL), в виде текстовых строк.

NDK r12 и более поздние версии включают библиотеку времени выполнения для компиляции шейдеров GLSL в SPIR-V, которую может использовать Vulkan. Компилятор shaperc можно использовать для компиляции программ шейдеров, написанных на GLSL, в SPIR-V. Если ваша игра использует HLSL, DirectXShaderCompiler поддерживает вывод SPIR-V.

Как правило, вам потребуется скомпилировать программы шейдеров в автономном режиме в рамках процесса создания ресурсов для вашей игры и включить модули SPIR-V как часть ресурсов среды выполнения.

Для получения дополнительной информации о процессе компиляции шейдеров для вашего приложения Vulkan ознакомьтесь с компиляторами шейдеров Vulkan для Android в разделе Android NDK.

Расширенные функции

Интегрируйте Android Frame Pacing в свой рендерер Vulkan.

Библиотека Android Frame Pacing (также известная как Swappy) помогает играм Vulkan добиться плавного рендеринга и правильного темпа, чтобы синхронизировать цикл рендеринга игры с подсистемой отображения ОС и базовым аппаратным обеспечением дисплея.

Правильная синхронизация устраняет визуальные артефакты, известные как разрывы изображения, оптимизирует энергопотребление за счет синхронизации между обновлением дисплея и представлением кадров, а также устраняет зависания за счет стабилизации частоты кадров. Чтобы узнать больше о важности синхронизации кадров, посетите раздел «Библиотека синхронизации кадров » AGDK.

Для получения дополнительной информации о том, как интегрировать частоту кадров в вашу игру, ознакомьтесь со статьей «Интеграция синхронизации кадров Android в ваш рендерер Vulkan» .

Управление ориентацией устройства с помощью предварительного вращения Vulkan

Обработка вращения поверхности вне приложения может быть платной. Даже на некоторых устройствах более высокого класса с выделенным процессором дисплея (DPU) все равно, вероятно, придется платить измеримое снижение производительности, и влияние будет зависеть от того, привязано ли ваше приложение к ЦП или к графическому процессору.

Vulkan предоставляет разработчикам возможность указывать устройствам гораздо больше информации о состоянии рендеринга по сравнению с OpenGL. Одной из таких сведений является ориентация устройства и ее связь с ориентацией поверхности . Эта возможность позволяет реализовать предварительную ротацию, чтобы максимально эффективно использовать Vulkan на Android.

Для получения дополнительной информации о том, как эффективно обрабатывать поворот устройства в приложении Vulkan, ознакомьтесь со статьей Управление ориентацией устройства с помощью предварительного поворота Vulkan и сопутствующим демонстрационным приложением .

Оптимизация с пониженной точностью

Числовой формат графических данных и расчеты шейдеров могут оказать существенное влияние на производительность вашей игры. Большинство вычислений и данных в современной 3D-графике используют числа с плавающей запятой. Vulkan на Android использует числа с плавающей запятой длиной 32 или 16 бит. 32-битное число с плавающей запятой обычно называют одинарной или полной точностью. Хотя 64-битный тип с плавающей запятой определен в Vulkan, он обычно не поддерживается и его использование не рекомендуется.

Ознакомьтесь с разделом «Оптимизация с пониженной точностью», чтобы получить информацию о том, как оптимизировать приложение Vulkan для достижения наилучшей производительности при выполнении арифметических операций.