• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 07:08
CEST 13:08
KST 20:08
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Code S Season 2 (2026): RO4 and Finals Preview12TL.net Map Contest #22 - Voting & Ladder Map Selection6Code S Season 2 (2026) - RO8 Preview5[ASL21] Finals Preview: Two Legacies21Code S Season 2 (2026) - RO12 Preview2
Community News
[BSL22] Non-Korean Championship from 13 to 28 June2Weekly Cups (May 25-31): Clem doubles, 2v2 circuit heads toward finale0StarCraft II 5.0.16 PTR Patch Notes may 26th151Weekly Cups (May 18-24): MaxPax wins doubles0Crank Gathers Season 4: BW vs SC2 Team League6
StarCraft 2
General
TL.net Map Contest #22 - Voting & Ladder Map Selection Code S Season 2 (2026): RO4 and Finals Preview TL Poll: How do you feel about the 5.0.16 PTR balance changes? What kind of tool would you be interested in? Oliveira Would Have Returned If EWC Continued
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament GSL Code S Season 2 (2026) WardiTV Mondays Maestros of The Game 2 announcement and schedule ! Crank Gathers Season 4: BW vs SC2 Team League
Strategy
[G] Having the right mentality to improve
Custom Maps
[D]RTS in all its shapes and glory <3
External Content
The PondCast: SC2 News & Results Mutation # 529 Opportunities Unleashed Mutation # 528 Infection Detected Welcome to the External Content forum
Brood War
General
BW General Discussion 25 Years Since Brood War Patch 1.08 BW animated web series: seeking contributors FlaSh's ASL S21 Finals Review BGH Auto Balance -> http://bghmmr.eu/
Tourneys
[BSL22] Grand Finals - Sunday 21:00 CEST [ASL21] Grand Finals [Megathread] Daily Proleagues Escore Tournament StarCraft Season 2
Strategy
Any training maps people recommend? Why doesn't anyone use restoration? Muta micro map competition [G] Hydra ZvZ: An Introduction
Other Games
General Games
Nintendo Switch Thread ZeroSpace Megathread PC Games Sales Thread Summer Games Done Quick 2026! The Perfect Game
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia
Community
General
Trading/Investing Thread US Politics Mega-thread Things Aren’t Peaceful in Palestine YouTube Thread Russo-Ukrainian War Thread
Fan Clubs
The herO Fan Club!
Media & Entertainment
[Req][Books] Good Fantasy/SciFi books [TV/BOOK] *SPOILERS* Game of Thrones Discussion Movie Discussion! [Manga] One Piece
Sports
2024 - 2026 Football Thread McBoner: A hockey love story Formula 1 Discussion TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Facing Challenges in Mobile App Development
TL Community
The Automated Ban List
Blogs
An Exploration of th…
waywardstrategy
I'm an arrogant trash talke…
FlaShFTW
Gauntlet SC2: A Retrospectiv…
Ctone23
Esportsmanship: How to NOT B…
TrAiDoS
Why RTS gamers make better f…
gosubay
ASL S21 English Commentary…
namkraft
StarCraft improvement
iopq
Customize Sidebar...

Website Feedback

Closed Threads



Active: 6412 users

SC Power Saver

Forum Index > BW General
Post a Reply
1 2 Next All
Physician *
Profile Blog Joined January 2004
United States4146 Posts
Last Edited: 2008-03-31 09:40:35
March 31 2008 09:31 GMT
#1
http://ossguy.com/starcraft_power_saver/ by ossguy

I haven't tried it yet. I don't think many will be using it but who knows, someone out there might find it useful.

Basically it's a tool that patches StarCraft so it uses less CPU time while a game is being played, which reduces power consumption on your computer.

Performance results
StarCraft Power Saver reduces StarCraft's CPU usage from 100% to the following percentages:

* 1-4% on a 2.8 GHz Pentium 4 running Windows XP SP2
* 2-10% on a 1.3 GHz Pentium M running Windows XP SP2
* 25-75% on a 1.3 GHz Pentium M running Wine 0.9.58 on Ubuntu 7.10

+ Show Spoiler +
StarCraft Power Saver
What you should know about StarCraft Power Saver:

* It's a tool that patches StarCraft so it uses less CPU time while a game is being played, which reduces power consumption on your computer.
* It modifies the StarCraft executable. As a result, you should not use Battle.net once the patch is applied (you can revert to a backup if you like).
* It's designed for StarCraft 1.15.2. If you have an older version, please update to 1.15.2 before using it.
* It's run from the command line. To use it, open a Command Prompt and navigate to the folder it's in. Then type starcraft_power_saver "C:\Program Files\Starcraft\StarCraft.exe" to apply the patch. A backup of the executable will be created.
* It wasn't created by and is not supported by Blizzard Entertainment.
* It's only available for Windows (and, by extension, Wine) for now. If there is enough interest, I will consider adding a Mac version.
* The tool and source code are linked below. They can also be browsed using this link.
* Bug reports and feature requests are welcome. Please submit these using the contact information below.


Before you judge it too fast (like I did) read the Problem summary.
"I have beheld the births of negative-suns and borne witness to the entropy of entire realities...."
Physician *
Profile Blog Joined January 2004
United States4146 Posts
Last Edited: 2008-03-31 10:00:16
March 31 2008 09:49 GMT
#2
edit: hum there is another similar program - cpu saviour posted by r1ch
http://www.teamliquid.net/forum/viewmessage.php?currentpage=1&topic_id=66104
"I have beheld the births of negative-suns and borne witness to the entropy of entire realities...."
syplovessy
Profile Joined December 2007
China41 Posts
March 31 2008 09:51 GMT
#3
how to use it @@
i tried, didint work
syplovessy
Profile Joined December 2007
China41 Posts
March 31 2008 09:57 GMT
#4
'E:\Starcraft\Starcraft.exe' is not a StarCraft: Brood War 1.15.2 executable; th
e expected MD5 checksum is 8f35e0719fa15e56b6605e67b19ba97c
Manifesto7
Profile Blog Joined November 2002
Osaka27174 Posts
Last Edited: 2008-03-31 10:53:25
March 31 2008 10:52 GMT
#5
If it worked on battle.net it would be worthwhile for me, but I dont spend any time in single player. Rich's is much less circumspect, as it doen't actually modify bw.
ModeratorGodfather
tec27
Profile Blog Joined June 2004
United States3702 Posts
March 31 2008 11:41 GMT
#6
Yeah, I'd say Rich's is a lot better (and is a BWL plugin so its even easier to turn on/off )
Can you jam with the console cowboys in cyberspace?
ossguy
Profile Joined March 2008
Canada20 Posts
March 31 2008 16:35 GMT
#7
On March 31 2008 18:57 syplovessy wrote:
'E:\Starcraft\Starcraft.exe' is not a StarCraft: Brood War 1.15.2 executable; th
e expected MD5 checksum is 8f35e0719fa15e56b6605e67b19ba97c


Thanks for reporting that. Are you using an English version of StarCraft 1.15.2? If not, it's quite likely that the patch won't apply properly. I'll consider adding support for other languages if there is enough interest.
ossguy
Profile Joined March 2008
Canada20 Posts
March 31 2008 16:41 GMT
#8
On March 31 2008 19:52 Manifesto7 wrote:
If it worked on battle.net it would be worthwhile for me, but I dont spend any time in single player. Rich's is much less circumspect, as it doen't actually modify bw.


Fair enough. I didn't know about CPU Savior before I started making StarCraft Power Saver and I wasn't aware of other ways of making a similar patch. I will look into CPU Savior a bit more to see how it works so I can determine how StarCraft Power Saver compares to it. If they are sufficiently similar, then StarCraft Power Saver may be redundant.

To clarify, StarCraft Power Supply does not limit you to single player. You can also play LAN games with it, just not Battle.net. Mainfesto7 probably knows this, but it might be unclear to other users reading this thread.
Physician *
Profile Blog Joined January 2004
United States4146 Posts
Last Edited: 2008-03-31 23:13:49
March 31 2008 23:12 GMT
#9
On April 01 2008 01:41 ossguy wrote:
Show nested quote +
On March 31 2008 19:52 Manifesto7 wrote:
If it worked on battle.net it would be worthwhile for me, but I dont spend any time in single player. Rich's is much less circumspect, as it doen't actually modify bw.


Fair enough. I didn't know about CPU Savior before I started making StarCraft Power Saver and I wasn't aware of other ways of making a similar patch. I will look into CPU Savior a bit more to see how it works so I can determine how StarCraft Power Saver compares to it. If they are sufficiently similar, then StarCraft Power Saver may be redundant.

To clarify, StarCraft Power Supply does not limit you to single player. You can also play LAN games with it, just not Battle.net. Mainfesto7 probably knows this, but it might be unclear to other users reading this thread.


we are happy just by the mere fact you're around here and made the effort for our game : )
"I have beheld the births of negative-suns and borne witness to the entropy of entire realities...."
evanthebouncy!
Profile Blog Joined June 2006
United States12796 Posts
April 01 2008 01:52 GMT
#10
Man I was hoping for a SC screen saver with customizable replays to play and auto screen scroll for hottest actions...
Life is run, it is dance, it is fast, passionate and BAM!, you dance and sing and booze while you can for now is the time and time is mine. Smile and laugh when still can for now is the time and soon you die!
comabreaded
Profile Blog Joined July 2003
United States2166 Posts
April 01 2008 02:14 GMT
#11
I wish Blizz would somehow implement this.
I put the fu in fun
thunk
Profile Blog Joined March 2008
United States6233 Posts
April 01 2008 02:22 GMT
#12
I'm curious if ossguy has written other bw software. Have you?
Every time Jung Myung Hoon builds a vulture, two probes die. || My post count was a palindrome and I was never posting again.
R1CH
Profile Blog Joined May 2007
Netherlands10342 Posts
April 01 2008 03:20 GMT
#13
Your technique looks better - just sleeping once per loop (CPU Savior sleeps on every GetTickCount call), but Sleeping at all is a problematic method since it stalls the message loop, meaning high Hz mice might suffer from input latency. You can reduce the 10-15ms granularity with a timeBeginPeriod call as CPU Savior does. CPU Savior patches the IAT to avoid modifying BW code, but modifying BW code after connecting to bnet should be fairly safe unless Warden decides to go after you, meaning this would work well as a BWL plugin - no injection needed, just Read/WriteProcessMemory.
AdministratorTwitter: @R1CH_TL
TL+ Member
ossguy
Profile Joined March 2008
Canada20 Posts
April 01 2008 18:17 GMT
#14
On April 01 2008 11:14 comabreaded wrote:
I wish Blizz would somehow implement this.


So do I. It would require a bit of a redesign of their game loop, but it is still a manageable fix. In my opinion, a proper redesign of the game loop would look like the following:

setTimer(...);
while (gameNotOver()) {
      GetMessage(lpMsg, ...);
      switch (lpMsg.message) {
            case KEYBOARD_EVENT: ...
            case MOUSE_EVENT: ...
            case TIMER_EVENT:
                  redrawScreen();
                  computeAI();
                  resetTimer();
                  ...
            case ...
      }
}

StarCraft would use the timer to tell it when to redraw the screen. The timer frequency would specify how many frames per second StarCraft would run at. This could be configurable in the game or hardcoded to a particular value that runs well on most systems.

I'd be happy to talk about this proposal further, especially with people from Blizzard.
ossguy
Profile Joined March 2008
Canada20 Posts
Last Edited: 2008-04-02 04:17:50
April 02 2008 03:56 GMT
#15
On April 01 2008 11:22 thunk wrote:
I'm curious if ossguy has written other bw software. Have you?


The other StarCraft-specific software I've written was made primarily for testing and benchmarking to see how effective the patch was. I did write a patch for Wine that allows users to specify a refresh rate since Wine sometimes picks a low refresh rate when games like StarCraft change the resolution. More information about the patch, including how to use it, are available on my blog. If you just want to use it, you can skip the first two paragraphs.

The benchmarking tools I made let me know how many times StarCraft is going through the game loop in a given amount of time. I did this by inserting a counter in the game loop and then using ReadProcessMemory from another application to see the value of the counter as it changed while StarCraft was running. Making ReadProcessMemory work required disabling some of StarCraft's security features. Because of that and because I used the same method of modifying StarCraft (changing the StarCraft executable directly), these changes also would not work with Battle.net.

In general, I try to stay away from making fixes to closed source software such as StarCraft because it is much more time-consuming than making fixes to open source software and it is much harder to fix things "the right way" since I have to guess what the assembly code is trying to do. It would be much easier for me to make changes to StarCraft if it were open source, but the model that Blizzard Entertainment chooses to sell its products doesn't permit that.
Gokey
Profile Joined November 2006
United States2722 Posts
April 02 2008 04:07 GMT
#16
seriously, everytime i run broodwars my cpu temperature spikes, even though it's a 10 year old game... =(
ossguy
Profile Joined March 2008
Canada20 Posts
April 02 2008 04:16 GMT
#17
On April 01 2008 12:20 R1CH wrote:
Your technique looks better - just sleeping once per loop (CPU Savior sleeps on every GetTickCount call), but Sleeping at all is a problematic method since it stalls the message loop, meaning high Hz mice might suffer from input latency.


Certainly. If I had more time, I would try to modify StarCraft using an event-based game loop as I described above, but it's just not feasible without the source code as I would have to spend many hours just figuring out how to refactor the code to make the event-based system work. It's unfortunate we have to rely on Sleep when there are much better ways of doing it.

You can reduce the 10-15ms granularity with a timeBeginPeriod call as CPU Savior does.


I considered doing this, but I wasn't sure if it would work because I couldn't find any references to other functions in the winmm library, suggesting that it wasn't linked into the StarCraft executable so I wouldn't be able to use timeBeginPeriod. Furthermore, it appeared that StarCraft worked fine even with the 10-15ms granularity so I didn't see a need to fix it further. However, if there are reports that StarCraft Power Saver is slow without timeBeginPeriod, then I would consider implementing it.

I couldn't find the place where you call timeBeginPeriod in your code; can you point out where in the code that's done?

CPU Savior patches the IAT to avoid modifying BW code, but modifying BW code after connecting to bnet should be fairly safe unless Warden decides to go after you, meaning this would work well as a BWL plugin - no injection needed, just Read/WriteProcessMemory.


That's an interesting mechanism for patching the game. I wish such hackery weren't required. It's things like this that really make me want to switch to open source RTSes like Bos Wars, Globulation 2, or Dark Oberon. If I have a problem with any of these, I can just fix the source code the right way. Unlike with StarCraft, no reverse engineering or protection-circumventing hacks are required.
ossguy
Profile Joined March 2008
Canada20 Posts
April 02 2008 04:21 GMT
#18
On April 02 2008 13:07 Gokey wrote:
seriously, everytime i run broodwars my cpu temperature spikes, even though it's a 10 year old game... =(


It's partly because StarCraft is 10 years old that it uses the CPU the way it does. 10 years ago, people didn't care that much about saving power because the average computer wasn't that power-hungry and laptops were not nearly as ubiquitous as they are today.

I would encourage you to try StarCraft Power Saver and CPU Saver to see if they help with your CPU temperature issues. Ideally Blizzard would fix this the right way, but until then, all we can do is work around it.
EvilTeletubby
Profile Blog Joined January 2004
Baltimore, USA22259 Posts
April 02 2008 04:26 GMT
#19
On April 01 2008 12:20 R1CH wrote:
Your technique looks better - just sleeping once per loop (CPU Savior sleeps on every GetTickCount call), but Sleeping at all is a problematic method since it stalls the message loop, meaning high Hz mice might suffer from input latency. You can reduce the 10-15ms granularity with a timeBeginPeriod call as CPU Savior does. CPU Savior patches the IAT to avoid modifying BW code, but modifying BW code after connecting to bnet should be fairly safe unless Warden decides to go after you, meaning this would work well as a BWL plugin - no injection needed, just Read/WriteProcessMemory.


I'm ashamed to say I understood virtually none of that.

How did both of you guys get into coding, if you don't mind me asking?
Moderatorhttp://carbonleaf.yuku.com/topic/408/t/So-I-proposed-at-a-Carbon-Leaf-concert.html ***** RIP Geoff
Ilikestarcraft
Profile Blog Joined November 2004
Korea (South)17743 Posts
April 02 2008 04:37 GMT
#20
On April 02 2008 13:26 EvilTeletubby wrote:
Show nested quote +
On April 01 2008 12:20 R1CH wrote:
Your technique looks better - just sleeping once per loop (CPU Savior sleeps on every GetTickCount call), but Sleeping at all is a problematic method since it stalls the message loop, meaning high Hz mice might suffer from input latency. You can reduce the 10-15ms granularity with a timeBeginPeriod call as CPU Savior does. CPU Savior patches the IAT to avoid modifying BW code, but modifying BW code after connecting to bnet should be fairly safe unless Warden decides to go after you, meaning this would work well as a BWL plugin - no injection needed, just Read/WriteProcessMemory.


I'm ashamed to say I understood virtually none of that.

How did both of you guys get into coding, if you don't mind me asking?

Me too T.T After using chaos launcher it got me interested but i have no idea what they're talking about;;
ils
"Nana is a goddess. Or at very least, Nana is my goddess." - KazeHydra
1 2 Next All
Please log in or register to reply.
Live Events Refresh
Kung Fu Cup
11:00
#11
RotterdaM246
IntoTheiNu 156
WardiTV138
Liquipedia
Replay Cast
09:00
KungFu Cup 2026 Week 10
CranKy Ducklings136
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RotterdaM 226
Rex 25
StarCraft: Brood War
Britney 30436
Sea 7290
Calm 6365
Rush 1176
Light 679
Hyuk 384
Shuttle 348
Shine 319
BeSt 299
actioN 178
[ Show more ]
Last 124
Soulkey 81
Killer 77
hero 75
Snow 71
scan(afreeca) 47
Liquid`Ret 45
ToSsGirL 44
Mind 40
Mini 36
ggaemo 34
sSak 31
sorry 30
Sacsri 25
Sharp 21
JYJ 20
Hm[arnc] 18
Noble 17
NaDa 17
[sc1f]eonzerg 15
Free 15
IntoTheRainbow 14
JulyZerg 14
soO 13
Barracks 12
GoRush 11
Hyun 11
zelot 9
Movie 7
Dota 2
Dendi23
Counter-Strike
olofmeister1568
shoxiejesuss989
Stewie2K702
zeus388
edward120
Other Games
Liquid`RaSZi1114
Lowko378
crisheroes237
B2W.Neo169
Pyrionflax153
Happy140
Sick97
SortOf39
Organizations
Other Games
gamesdonequick593
BasetradeTV1
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 14 non-featured ]
StarCraft 2
• CranKy Ducklings SOOP84
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• iopq 8
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Nemesis5480
• Jankos3137
Upcoming Events
Maestros of the Game
3h 52m
Classic vs Lambo
Clem vs Maru
Replay Cast
12h 52m
The PondCast
22h 52m
Maestros of the Game
1d 3h
Serral vs Rogue
herO vs SHIN
OSC
1d 11h
Replay Cast
1d 12h
Maestros of the Game
2 days
Replay Cast
2 days
CranKy Ducklings
2 days
uThermal 2v2 Circuit
3 days
[ Show More ]
Sparkling Tuna Cup
3 days
uThermal 2v2 Circuit
4 days
OSC
4 days
Wardi Open
4 days
Replay Cast
6 days
Liquipedia Results

Completed

BSL Season 22
2026 GSL S2
Heroes Pulsing #1

Ongoing

IPSL Spring 2026
KCM Race Survival 2026 Season 2
Acropolis #4
CSCL: Masked Kings S4
YSL S3
Acropolis #4 - GSB
SCTL 2026 Spring
WardiTV Spring 2026
Maestros of the Game 2
uThermal 2v2 2026 Main Event
Murky Cup 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026

Upcoming

BSL 22 Non-Korean Championship
CSLAN 4
Blizzard Classic Cup 2026
Kung Fu Cup 2026 Grand Finals
CranK Gathers Season 4: BW vs SC2 Team League
HSC XXIX
Douyu Cup 2026
Heroes Pulsing #3
Heroes Pulsing #2
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.