-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
High GPU usage #5
Comments
It is a bug in my Opengl backend. |
Mhh nope. |
CPU usage is working as intended because it is immediate GUI instead of more traditional retained mode. And it use less than 1% GPU for me so... |
I don't really know what to say. |
Can you tell me if this is fixed in 1.6.1 ? |
GPU usage is now in the neighbourhood of 10% (rather than 30%), but still it's crazy that there is usage like at all. |
It's not fixed completely. It's down to ~18% on a 2080super..
It's because Rust doesn't have things like WinForms or WPF to work with, or any "real" windowing system like other languages better suited to this kind of project. That said, before I learned C#, I wrote game trainers in Perl, using WinAPI for peek/poke, ReadProcessMemory and WriteProcessMemory. Coders write their apps in whatever language they're comfortable with. This dude's giving out the editor (and I promise hundreds of hours of work) for absolutely free, and even trying to see to our, ultimately inconsequential, complaints about gpu usage. The GUI is anything but simple, far as I can tell he's actually rendering the UI on the GPU itself using opengl/vulkan, a proper in-game HUD being used to create a GUI for the app. The fact he got it down to <20% on a 300mhz clocked gpu is impressive, imo. This is very much a satisfactory resolution considering the language and drawing backend/api chosen for the UI, and I'm alright with closing the issue as resolved, personally. Thanks for this Karlitos :) SS from a custom-format archiver I've been working on for 100gb+ archives stored on a NAS (can pull/write individual files from the middle of the archive without having to copy/move the archive, or even read the entire archive), showing MWin, another project for highly customized UIs I wrote many years back.. The archiver is chunk-based, basically a stripped down FAT32 inside a single file so individual chunks can be manipulated. |
Thank you. :) Indeed, Rust doesn't have a lot of GUI libraries but I could use GTK or a web-view based interface. But, I choose to use Imgui because it is well suited for directly edit big chunk of data like save game are. This is why other save editors use Imgui too (CPSE for Cyberpunk 2077). It's quite customizable and more importantly it's really enjoyable to code with. You can make a complex UI in a few lines of code. Furthermore, it is very reactive. For example, Gibbed's editor can take few second to open a save or to show a collection of hundred entries because in retained GUI you have to refresh the view each time data changed or use proxy view or whatever that can slow down the UI.
It's not that complicated, I just use Anyway, even if it hadn't improved your performance, swaping to Vulkan reduce compile time, file size and a little bit of CPU usage. So, it is clearly a win. |
1.7.0 has ~8% rather than the previously reported 10%. But here's the crazy fun fact: when I put my laptop in optimus mode, my integrated gpu sits at 50%, while the dedicated one is on 30% again. |
Sigh, it's not just this program |
Well, turns out limiting framerate from 3000 (TIL) to 64 (I don't know why this odd number) really goes a long way into lowering usage. Still, for the aforementioned reasons, I guess like it's not really your fault specifically.. And I'd rather have you work on those other juicy feature requests than this frontend detail. |
I get 30% usage on a RTX 3060, as long as the editor is not minimized.
It's not critical, but it seems very very strange.
The text was updated successfully, but these errors were encountered: