Buenas.
He estado programando un visualizador de imagenes muy simple usando WINAPI, stb_image.h y (en la ultima version) OpenGL.
Mi codigo parte de este que encontre aqui: https://nehe.gamedev.net/tutorial/creating_an_opengl_window_(win32)/13001/
El caso es que usando unicamente WINAPI el programa sufre unos FPS terribles. Con OpenGL los FPS aumentan ligeramente, pero sigue ser fluido.
He notado que otros programas no usan ni el 5% de CPU. Tal vez el 5% de un unico nucleo. Pero mi programa se come el 25% de la CPU (Core i5 9400f). El 100% de un nucleo.
Y cuando me ha dado por mirar el rendimiento del programa en el que me basaba para hacer el mio (el del link de arriba), la CPU hace exactamente lo mismo. Y lo mejor, la grafica (ASUS RX570 ROG Strix 8GB OC) se pone al 100% para dibujar unicamente un punto en pantalla.
Por lo que veo hasta mi antiguo motor de juegos basado en OpenGL (estoy en proceso de actualizarlo para usar GLSL y mas adelante Vulkan) me dispara el consumo de CPU.
Pues eso. Que no sé por donde tirar. ¿Como reduzco el consumo de CPU de mi programa?
Toda ayuda es bienvenida.
PD: No sé manejar multihilos (aun), así que si podemos descartarlo como parte de la solucion, mejor.
He estado programando un visualizador de imagenes muy simple usando WINAPI, stb_image.h y (en la ultima version) OpenGL.
Mi codigo parte de este que encontre aqui: https://nehe.gamedev.net/tutorial/creating_an_opengl_window_(win32)/13001/
El caso es que usando unicamente WINAPI el programa sufre unos FPS terribles. Con OpenGL los FPS aumentan ligeramente, pero sigue ser fluido.
He notado que otros programas no usan ni el 5% de CPU. Tal vez el 5% de un unico nucleo. Pero mi programa se come el 25% de la CPU (Core i5 9400f). El 100% de un nucleo.
Y cuando me ha dado por mirar el rendimiento del programa en el que me basaba para hacer el mio (el del link de arriba), la CPU hace exactamente lo mismo. Y lo mejor, la grafica (ASUS RX570 ROG Strix 8GB OC) se pone al 100% para dibujar unicamente un punto en pantalla.

Por lo que veo hasta mi antiguo motor de juegos basado en OpenGL (estoy en proceso de actualizarlo para usar GLSL y mas adelante Vulkan) me dispara el consumo de CPU.
Pues eso. Que no sé por donde tirar. ¿Como reduzco el consumo de CPU de mi programa?
Toda ayuda es bienvenida.
PD: No sé manejar multihilos (aun), así que si podemos descartarlo como parte de la solucion, mejor.