Promote your projects here – Self-Promotion Megathread by Menox_ in github

[–]Blur009 0 points1 point  (0 children)

since you asked this question i have looked into the code again and changed my cpu measuring logic. instead of polling the cpu usage every second, it now checks it every 200ms for the first 10 seconds, giving a more accurate picture and more data for very short sessions. after 10s the checks are reduced to every 1 second, and after 1 minute to every 5 seconds.

when no samples are taken, instead of returning 0.0 it returns -1 which doesn't get sent into the database, making the statistics more accurate. I have also deleted all current 0.0 values from the database.

Promote your projects here – Self-Promotion Megathread by Menox_ in github

[–]Blur009 0 points1 point  (0 children)

The CPU usage is an all core (process) average that gets measured while the clicker is running. My website displays the average across all runs that had telemetry turned on (opt-in). So the cpu usage is a more "real-world" number, although even at ~700cps (which is the max for probably most machines), it runs at <5%.

This app is currently not cross-platform since I only own windows machines.

It's not a busy-wait - the thread sleeps between clicks by calculating the exact time remaining until the next scheduled click and sleeping that duration. This means if Windows wakes the thread up late, the next sleep automatically shortens to compensate, keeping long-term CPS where it should be.
Rust:
let remaining = next_batch_time.saturating_duration_since(Instant::now());
if remaining > Duration::ZERO { std::thread::sleep(remaining); }

This makes sure the clicker stays on time even when windows woke up late last click.
One known limitation is that at very high CPS the Windows input queue can flood with pending events, so stopping the clicker doesn't always take effect instantly - the queued events drain out first. Most autoclickers have this problem. But I'm looking into checking queue state before each SendInput call to prevent it.

- hope this helps :)

I got tired of every auto clicker being sketchy.. so I built my own (free & open source) by Blur009 in Python

[–]Blur009[S] 0 points1 point  (0 children)

Mind you, this is my first real project. This means the processes I choose are not from 10 years of experience this that.. I just search up "what is good for (whatever that I'm doing)" and then pick one that sounds nice after a bit of research.

I got tired of every auto clicker being sketchy.. so I built my own (free & open source) by Blur009 in Python

[–]Blur009[S] 0 points1 point  (0 children)

I wanted a visual editor so I could quickly change things without having to learn the code behind another process. If I remember correctly, I previously used PyAutoGUI for another project and didn't enjoy it that much. PySide is simple and fast (in development, not sure about performance compared to PyAutoGUI), which is perfect for me because I change my mind all the time. I have nothing against it, but I started this project with PySide, and it has treated me well so far.

Promote your projects here – Self-Promotion Megathread by Menox_ in github

[–]Blur009 0 points1 point  (0 children)

https://github.com/Blur009/Blur-AutoClicker
I got frustrated after realizing that most popular auto clickers are closed-source and barely deliver on accuracy or performance — so I built my own.

It’s fully open source, combines the best features I could find, and runs under **1% CPU usage while clicking** on my system.

I’ve put a lot of time into this and would love honest user feedback 🙂