При запуске самого простого приложения на OpenGL - очень сильно нагружается ЦП и ГПУ, как это можно исправить?
main.cpp
#include "main.h"
int main()
{
glfwInit(); //Инициализация GLFW
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); //Задается минимальная требуемая мажорная версия OpenGL
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);//Задается минимальная требуемая минорная версия OpenGL
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); //Установка профайла для которого создается контекст
GLFWwindow* window = glfwCreateWindow(1280, 720, "Hello OpenGL", nullptr, nullptr); //Объект окна. Возвращает указатель на объект типа GLFWwindow
glfwMakeContextCurrent(window); //Создаем контекст окна.
glewExperimental = GL_TRUE; //Позволяет GLEW использовать новейшие техники для управления функционалом OpenGL
glewInit(); //Инициализация GLEW
int width, height; //Объявление переменных ширины и высоты
glfwGetFramebufferSize(window, &width, &height); //Получение ширины и высоты окна изобъекта window
glViewport(0, 0, width, height); //Отрисовка окна
glfwSetKeyCallback(window, key_callback); // keyCallBack
while (!glfwWindowShouldClose(window)) // "Игровой цикл"
{
glfwPollEvents();
glClearColor(0.2f, 0.3f, 0.3f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
glfwSwapBuffers(window);
}
glfwTerminate(); // Удаление данных
return 0;
}
void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode)
{
if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
glfwSetWindowShouldClose(window, GL_TRUE);
}
#pragma once
#define GLEW_STATIC
#include <GL/glew.h>
#include <GLFW/glfw3.h>
void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode);
Сборка персонального компьютера от Artline: умный выбор для современных пользователей