qb-0 / pyMeow

Python Game Hacking Library
MIT License
337 stars 35 forks source link

Built-In Rendering Library (perfomance) #29

Closed ImInTheICU closed 8 months ago

ImInTheICU commented 1 year ago

Core I5, GTX 1060, can barely run the Rendering Library at 10 frames. This performance decrease only happens when running the Rendering library. Example: Before using BoxESP example code: 120 FPS, after: 13 FPS.

Device name ... Processor Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz 2.40 GHz Installed RAM 8.00 GB (7.82 GB usable) Device ID ... Product ID ... System type 64-bit operating system, x64-based processor

qb-0 commented 1 year ago

Sorry but what do you exactly mean with rendering library?

h8rr commented 1 year ago

He means raylib, the overlay. I brought this issue up in the discord a while ago. The overlay is very heavy on the GPU, even at low frame rates. 60fps for example uses around 20% gpu usage for me on a RTX2060. Took a look through the source and not really sure what could be causing it.

ImInTheICU commented 1 year ago

h8rr, pointed it out.

qb-0 commented 1 year ago

I see. I'm having around ~15% GPU usage with the overlay test on a 3080. Did you guys noticed if this is a general thing with raylib? Like @h8rr said, I don't see a reason why especially pyMeow's code should cause that gpu usage.

qb-0 commented 1 year ago

So I made a quick test with the python bindings for raylib which uses the same GPU usage for me:

from pyray import *
set_target_fps(144)
set_config_flags(ConfigFlags.FLAG_WINDOW_UNDECORATED)
set_config_flags(ConfigFlags.FLAG_WINDOW_MOUSE_PASSTHROUGH)
set_config_flags(ConfigFlags.FLAG_WINDOW_TRANSPARENT)
set_config_flags(ConfigFlags.FLAG_WINDOW_TOPMOST)
set_config_flags(ConfigFlags.FLAG_MSAA_4X_HINT)
init_window(800, 450, "Hello")
while not window_should_close():
    begin_drawing()
    draw_text("Hello world", 190, 200, 20, VIOLET)
    end_drawing()
    clear_background(BLANK)
close_window()

pyMeow:

import pyMeow as pm
pm.overlay_init(fps=144)
while pm.overlay_loop():
    pm.begin_drawing()
    pm.draw_text("Hello World", 400, 800, 12, pm.get_color("violet"))
    pm.end_drawing()

Both solutions use around 15%. But however in @ImInTheICU case it seems like his game performance is decreasing a lot after running the overlay. Are your gpu drivers up to date?

h8rr commented 1 year ago

Drivers are fully up to date on my end at least- it must just a weird issue with raylib. I really don't see how even a clear overlay at 144fps uses 20-30% GPU. Also keep in mind 15% for a 3080 is probably somewhere around 40-50% for his 1060. 15% on a beast of a card is quite alot.

ImInTheICU commented 1 year ago

I have a 3060 TI, but I don't use it often for game cheating, I usually use a separate computer as I also cheat in Rust and other games.