10000 GitHub - RustyStarX/RustyStar: EnergyStar alernative in Rust
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

RustyStarX/RustyStar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RustyStar

EnergyStar alernative in Rust.

Bundle instructions

NOTE: You must have MSVC for ARM64 and x86/x64 installed.

To generate msi installer with cargo-wix and WiX Toolset v3.14, run:

nu bundle.nu

Suggested CPU

reference

  • Intel: 10gen or newer
  • AMD: Ryzen 5000 Series or newer
  • Qualcomm: Basically all

I only want to throttle blacklisted ones

RustyStar now supports configuration.

Locate to %AppData%/RustyStarX/RustyStar/config and open config.toml,

disable listen_foreground_events and switch mode of listen_new_process to "blacklist_only", configure the blacklist.

Check wiki page of configuration for more details.

Roadmap

  • Multi Window support
  • Child processes support
    • Direct child processes
    • Process tree walking
  • Event-based foreground window boost
  • Event-based throttle for all new processes
  • Recover processes on exit
    • Ctrl-C handle
    • windows wm_close event handle
  • Support UWP applications
  • Support SYSTEM privileged processes

    You must run RustyStar.exe as administrator to throttle them!

  • Configurable whitelist and blacklist

What is the efficiency mode?

The "Efficiency mode" in task manager does two things on a process:

  • Enable EcoQoS
  • Change base priority to IDLE

The latter is not always useful, especially when we throttle mostly all processes. And the former requires hardware support to perform the best effect.

EcoQoS was first introduced in Windows 10 Preview Build 21359.

The main impact from EcoQoS are:

  • Energy efficiency & Sustainability
  • Reduced heat and fan noise (where this project actually care)

What does EcoQoS actually do?

According to MSDN, Eco QoS level means:

Always selects most efficient CPU frequency and schedules

And referring to Optimizing Software for x86 Hybrid Architecture,

Similar to background threads, eco threads are also dynamically placed on the Efficient cores.

Non-goals

  • Useless bloated GUI
  • Power mode awareness, e.g. pause & recover on AC supply
  • Extremely lightweight binary
0