mirror of
https://github.com/ocornut/imgui.git
synced 2026-11-08 19:02:56 +00:00
Power savings & hardware usage #7556
Labels
No labels
accidentally closed
android
backends
bug
building
clipper
coloredit
color spaces
cplusplus
data types
demo
disabled
doc
docking
dpi
drag drop
drawing/drawlist
dropped
dx12
enhancement
focus
font/text
gallery
help wanted
idle/power saving
ime
in progress
inputs
inputtext
internals
label/id and id stack
language bindings
layout
linux/bsd
menus
multi-contexts
multi-threading
multi-viewports
nav
news/info
opengl
optimization
osx/ios
overlap
plot/graph
popups
question
scrolling
selection
settings
sliders/drags
style
tables/columns
tabs
test wanted
tools
tooltips
tree
tricks & tips
useful widgets
vulkan
web
window pos/depth
window sizing
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ocornut/imgui#7556
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Back-ends:
imgui_impl_SDL.cpp + imgui_impl_SDL2_RENDERER_cpp
Compiler, OS:
Windows 11
Full config/build information:
Hello, i am working on web application that should be able to run on all devices, the issue im having is related to hardware usage (CPU, GPU) most browsers has GPU acceleration and the performance is just fine. But the issue is that some users might not have external GPU at all which makes things harder. The CPU (without GPU acceleration) performance with quite new intel is around 50% of the CPU.
I found few powersaving concepts, but none of them really solved the issue since once i didn't idle the performance was similar to default imgui. Is there any powersaving concept that caches drawn objects of the drawlist and updates only the objects where changes has happened so every object doesn't have to be rendered again once one needs update.
There’s none yet but I would be surprised if dear imgui ever took 50% of CPU on a several-years old Intel card. Assuming the measurement are right, you may have a bug or bottleneck somewhere else and imho this is what you could investigate.
I never meant to blame imgui for the 50%, im using my experimental bind of SDL emscripten with browser canvas drawing. The 50% was the result of rendering with only CPU. With GPU acceleration the result is round about 2-5% CPU 10% GPU
I don’t think any recent intel card can’t render triangles with GPU acceleration so the question is to investigate what’s the rendering process used in that situation.
What I have found, at least on my laptop, is that vsync reduces GPU usage as expected but not CPU usage unless I set sdl_Delay in the loop (with the time nedded for the desired frame rate). This reduces dramatically my CPU usage. (from 10% to 0.5 %)
It happens not only in SDL but also in GLFW so that I think that is related to how the GPU driver implements vsync (not only openGL but Vulkan also)
Perhaps this should be alerted so that people can try that before start blaming imgui?