How to change the refresh rate of your monitor dynamically.

I’m pretty insistent on things working how I see fit when it involves technology. I spent a while trying to figure out how to customize my start menu with custom tiles without using third party apps or routing the apps through another application. Eventually I figured it out, and the results look quite nice. The point is that when I want something done, usually if I can’t do it in the computer already, I create a way to do it.

I recently purchased a new laptop with a 144hz screen. It looks amazing, but I don’t want to run the 144hz on battery power, because usually on battery I’m simply browsing the web, reading reddit, or coding. However, if I plug my laptop in, that’s when I would be doing activities that would benefit from the extra hertz. Surely there’s a way to switch the frequency of the screen when I plug in the laptop, right? Wrong. Windows is missing what seems like pretty obvious things sprinkled all over the place. I hear a few people out there saying, “Well maybe it’s too difficult for them to add it! They have other things to work on, you know.” I would respond that perhaps you’re right, if it didn’t take them more than a year to fix a widespread stutter bug involving discrete GPUs. That’s a whole ‘nother story, but it’s quite annoying without a work around like TrayPwrD3. Anyway, I decided to fix it myself. Perks of being a software engineer. You know how long it took me to write a program to detect if you’re on battery and switch the screen frequency between 144 or 60 depending on the power state? About 30 minutes. Then another 30 to clean it up, make it a background process, and task Task Scheduler to run it upon connecting or disconnecting AC power. A few more hours to add a few other features and bug test it, and I had solved my problem.

Want it? No problem. Join my Patreon or just purchase it for $0.99 here. Documentation for said program exists here.

My Patreon | My Website

Leave a Reply

Your email address will not be published. Required fields are marked *