Расширение EXT_disjoint_timer_query
Ограниченная доступность
Эта функция не является базовой, так как она не работает во всех широко используемых браузерах.
Расширение EXT_disjoint_timer_query является частью API WebGL и предоставляет способ измерения продолжительности набора команд GL без приостановки конвейера рендеринга.
Расширения WebGL доступны с помощью метода WebGLRenderingContext.getExtension(). Дополнительную информацию см. также в Использование расширений в учебнике по WebGL.
Примечание: Это расширение должно быть доступно только в контекстах WebGL1. EXT_disjoint_timer_query_webgl2 доступно в контекстах WebGL 2.
В WebGL 2 метод OpenGL getQueryObject() переименован в WebGL2RenderingContext.getQueryParameter. В WebGL 2 другие запросы (такие как запросы окклюзии и запросы примитивов) возможны с использованием объектов WebGLQuery.
Типы
Это расширение экспонирует новый тип:
GLuint64EXT-
Беззнаковое 64-битное целое число.
Константы
Это расширение экспонирует семь новых констант.
ext.QUERY_COUNTER_BITS_EXT-
GLint, указывающая на количество битов, используемых для хранения результата запроса для данного целевого объекта. ext.CURRENT_QUERY_EXT-
Объект
WebGLQuery, который является текущим активным запросом для данного целевого объекта. ext.QUERY_RESULT_EXT-
GLuint64EXT, содержащая результат запроса. ext.QUERY_RESULT_AVAILABLE_EXT-
GLboolean, указывающая на доступность результата запроса. ext.TIME_ELAPSED_EXT-
Прошедшее время (в наносекундах).
ext.TIMESTAMP_EXT-
Текущее время.
ext.GPU_DISJOINT_EXT-
GLboolean, указывающая, выполнил ли GPU какое-либо раздельное действие.
Методы экземпляров
Это расширение экспонирует восемь новых методов.
ext.createQueryEXT()-
Создаёт новый
WebGLQuery. ext.deleteQueryEXT()-
Удаляет заданный
WebGLQuery. ext.isQueryEXT()-
Возвращает
true, если заданный объект является допустимымWebGLQuery. ext.beginQueryEXT()-
Таймер запускается, когда все команды, предшествующие
beginQueryEXT, были полностью выполнены. ext.endQueryEXT()-
Таймер останавливается, когда все команды, предшествующие
endQueryEXT, были полностью выполнены. ext.queryCounterEXT()-
Записывает текущее время в соответствующий объект запроса.
ext.getQueryEXT()-
Возвращает информацию о целевом объекте запроса.
ext.getQueryObjectEXT()-
Возвращает состояние объекта запроса.
Примеры
const ext = gl.getExtension("EXT_disjoint_timer_query");
Спецификации
Совместимость с браузерами
| Настольный | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | |
EXT_disjoint_timer_query |
70Поддерживается только на macOS.47–65Удалено из-за эксплойта GLitch. |
79Поддерживается только на macOS. |
51–59Удалено из-за эксплойта GLitch. |
57Поддерживается только на macOS.34–52Удалено из-за эксплойта GLitch. |
Нет | 47–65Удалено из-за эксплойта GLitch. |
Нет | 34–47Удалено из-за эксплойта GLitch. |
Нет | 5.0–9.0Удалено из-за эксплойта GLitch. |
47–65Удалено из-за эксплойта GLitch. |
beginQueryEXT |
70Поддерживается только на macOS.47–65Удалено из-за эксплойта GLitch. |
79Поддерживается только на macOS. |
51–59Удалено из-за эксплойта GLitch. |
57Поддерживается только на macOS.34–52Удалено из-за эксплойта GLitch. |
Нет | 47–65Удалено из-за эксплойта GLitch. |
Нет | 34–47Удалено из-за эксплойта GLitch. |
Нет | 5.0–9.0Удалено из-за эксплойта GLitch. |
47–65Удалено из-за эксплойта GLitch. |
createQueryEXT |
70Поддерживается только на macOS.47–65Удалено из-за эксплойта GLitch. |
79Поддерживается только на macOS. |
51–59Удалено из-за эксплойта GLitch. |
57Поддерживается только на macOS.34–52Удалено из-за эксплойта GLitch. |
Нет | 47–65Удалено из-за эксплойта GLitch. |
Нет | 34–47Удалено из-за эксплойта GLitch. |
Нет | 5.0–9.0Удалено из-за эксплойта GLitch. |
47–65Удалено из-за эксплойта GLitch. |
deleteQueryEXT |
70Поддерживается только на macOS.47–65Удалено из-за эксплойта GLitch. |
79Поддерживается только на macOS. |
51–59Удалено из-за эксплойта GLitch. |
57Поддерживается только на macOS.34–52Удалено из-за эксплойта GLitch. |
Нет | 47–65Удалено из-за эксплойта GLitch. |
Нет | 34–47Удалено из-за эксплойта GLitch. |
Нет | 5.0–9.0Удалено из-за эксплойта GLitch. |
47–65Удалено из-за эксплойта GLitch. |
endQueryEXT |
70Поддерживается только на macOS.47–65Удалено из-за эксплойта GLitch. |
79Поддерживается только на macOS. |
51–59Удалено из-за эксплойта GLitch. |
57Поддерживается только на macOS.34–52Удалено из-за эксплойта GLitch. |
Нет | 47–65Удалено из-за эксплойта GLitch. |
Нет | 34–47Удалено из-за эксплойта GLitch. |
Нет | 5.0–9.0Удалено из-за эксплойта GLitch. |
47–65Удалено из-за эксплойта GLitch. |
getQueryEXT |
70Поддерживается только на macOS.47–65Удалено из-за эксплойта GLitch. |
79Поддерживается только на macOS. |
51–59Удалено из-за эксплойта GLitch. |
57Поддерживается только на macOS.34–52Удалено из-за эксплойта GLitch. |
Нет | 47–65Удалено из-за эксплойта GLitch. |
Нет | 34–47Удалено из-за эксплойта GLitch. |
Нет | 5.0–9.0Удалено из-за эксплойта GLitch. |
47–65Удалено из-за эксплойта GLitch. |
getQueryObjectEXT |
70Поддерживается только на macOS.47–65Удалено из-за эксплойта GLitch. |
79Поддерживается только на macOS. |
51–59Удалено из-за эксплойта GLitch. |
57Поддерживается только на macOS.34–52Удалено из-за эксплойта GLitch. |
Нет | 47–65Удалено из-за эксплойта GLitch. |
Нет | 34–47Удалено из-за эксплойта GLitch. |
Нет | 5.0–9.0Удалено из-за эксплойта GLitch. |
47–65Удалено из-за эксплойта GLitch. |
isQueryEXT |
70Поддерживается только в macOS.47–65Удалено из-за уязвимости GLitch. |
79Поддерживается только в macOS. |
51–59Удалено из-за уязвимости GLitch. |
57Поддерживается только в macOS.34–52Удалено из-за уязвимости GLitch. |
Нет | 47–65Удалено из-за уязвимости GLitch. |
Нет | 34–47Удалено из-за уязвимости GLitch. |
Нет | 5.0–9.0Удалено из-за уязвимости GLitch. |
47–65Удалено из-за уязвимости GLitch. |
|---|---|---|---|---|---|---|---|---|---|---|---|
queryCounterEXT |
70Поддерживается только в macOS.47–65Удалено из-за уязвимости GLitch. |
79Поддерживается только в macOS. |
51–59Удалено из-за уязвимости GLitch. |
57Поддерживается только в macOS.34–52Удалено из-за уязвимости GLitch. |
Нет | 47–65Удалено из-за уязвимости GLitch. |
Нет | 34–47Удалено из-за уязвимости GLitch. |
Нет | 5.0–9.0Удалено из-за уязвимости GLitch. |
47–65Удалено из-за уязвимости GLitch. |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/EXT_disjoint_timer_query