OpenGL означает Открытая графическая библиотека. Поскольку название содержит слово «библиотека», оно относится к API или стандартной спецификации, которая помогает взаимодействовать с графическим оборудованием (GPU).
Например, аналогично использованию API модуля fs, когда необходимо получить доступ к файлу в Node.js, API OpenGL использует графическое представление чего-либо в приложении.
OpenGL позволяет представлять 2D- и 3D-векторную графику путем рендеринга посредством аппаратного ускорения с использованием графического процессора. Поэтому он часто используется в VR, CAD, играх и т. д.
Примечание. WebGL разработан для применения OpenGL в Интернете.
Выше я упоминал, что OpenGL рендерит 2D, 3D графику посредством аппаратного ускорения с использованием GPU.
Итак, что такое аппаратное ускорение?
Аппаратное ускорение заключается в том, что ЦП не обрабатывает задачу, а передает ее на другое оборудование, оптимизированное для обработки этой задачи (ГП, звуковая карта и т. д.), тогда это другое оборудование обрабатывает быстрее и качественнее, чем ЦП. .
Фактически, ЦП может выполнять все задачи, которые технически может выполнять другое оборудование.
Однако длительное использование ЦП, требующее сложных вычислений, является пустой тратой производительности и вычислительных ресурсов.
Таким образом, вы делегируете задачу другому оборудованию, которое оптимизировано для этой задачи, а ЦП тем временем может выполнять другие задачи.
Примечание. Чтобы преодолеть ограничения вычислительных ресурсов и скорости вычислений, некоторые приложения, работающие на локальном компьютере, доставляются на другие компьютеры с лучшими ресурсами и вычислительной мощностью, а затем возвращаются результаты с указанной разгрузкой. .
Другими словами, аппаратное ускорение с графическими процессорами предназначено просто для увеличения скорости и производительности графических операций за счет того, что графические операции выполняются для графических процессоров, а не для центральных процессоров.
Однако аппаратное ускорение с помощью графических процессоров не всегда гарантирует хорошую производительность.
Если процессор очень мощный, а графический процессор не очень хороший, он может быть неэффективным, потому что он может лучше обрабатываться процессором, а интенсивное использование может привести к перегреву или повреждению видеокарты (вот почему компьютер сгорает при игре в high-end). игры).
Конечно, в наши дни, благодаря технологическому прогрессу, графические процессоры наряду с центральными процессорами обеспечивают очень высокую производительность, но их использование там, где они должны быть, может быть одним из способов поддерживать работу вашего компьютера в течение длительного времени.
Помимо компьютеров, смартфоны также поддерживают OpenGL.
Используйте OpenGL ES при использовании OpenGL в Android. ES расшифровывается как Embedded System. Это также API, встроенный в устройство, такое как телефон, КПК и т. д.
Заключение
- OpenGL — это API или спецификация, поддерживающая связь с графическим процессором.
- Аппаратное ускорение означает, что конкретная задача обрабатывается другим оборудованием (например, графическим процессором), оптимизированным для этой задачи, а не центральным процессором.
- Если аппаратное ускорение графического процессора не всегда повышает производительность, в некоторых ситуациях (например, при использовании плохих графических устройств) эффективность может быть довольно низкой.
- WebGL доступен в Интернете, а OpenGL ES доступен на устройстве.