• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 07:22
CEST 13:22
KST 20:22
  • 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
[ASL21] Ro16 Preview Pt2: All Star10Team Liquid Map Contest #22 - The Finalists16[ASL21] Ro16 Preview Pt1: Fresh Flow9[ASL21] Ro24 Preview Pt2: News Flash10[ASL21] Ro24 Preview Pt1: New Chaos0
Community News
2026 GSL Season 1 Qualifiers13Maestros of the Game 2 announced72026 GSL Tour plans announced14Weekly Cups (April 6-12): herO doubles, "Villains" prevail1MaNa leaves Team Liquid24
StarCraft 2
General
Maestros of the Game 2 announced Team Liquid Map Contest #22 - The Finalists MaNa leaves Team Liquid 2026 GSL Tour plans announced Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool
Tourneys
2026 GSL Season 1 Qualifiers GSL CK: More events planned pending crowdfunding RSL Revival: Season 5 - Qualifiers and Main Event Sparkling Tuna Cup - Weekly Open Tournament Master Swan Open (Global Bronze-Master 2)
Strategy
Custom Maps
[D]RTS in all its shapes and glory <3 [A] Nemrods 1/4 players [M] (2) Frigid Storage
External Content
Mutation # 522 Flip My Base The PondCast: SC2 News & Results Mutation # 521 Memorable Boss Mutation # 520 Moving Fees
Brood War
General
ASL21 General Discussion Data needed BGH Auto Balance -> http://bghmmr.eu/ Any progamer "explanation" videos like this one? ASL21 Strategy, Pimpest Plays Discussions
Tourneys
[ASL21] Ro16 Group D [Megathread] Daily Proleagues [ASL21] Ro16 Group C [ASL21] Ro16 Group B
Strategy
Simple Questions, Simple Answers What's the deal with APM & what's its true value Any training maps people recommend? Fighting Spirit mining rates
Other Games
General Games
Dawn of War IV Nintendo Switch Thread Starcraft Tabletop Miniature Game General RTS Discussion Thread Battle Aces/David Kim RTS Megathread
Dota 2
The Story of Wings Gaming
League of Legends
G2 just beat GenG in First stand
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 Mafia Game Mode Feedback/Ideas TL Mafia Community Thread Five o'clock TL Mafia
Community
General
US Politics Mega-thread Canadian Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread YouTube Thread
Fan Clubs
The IdrA Fan Club
Media & Entertainment
Anime Discussion Thread [Manga] One Piece [Req][Books] Good Fantasy/SciFi books Movie Discussion!
Sports
2024 - 2026 Football Thread Formula 1 Discussion McBoner: A hockey love story Cricket [SPORT]
World Cup 2022
Tech Support
[G] How to Block Livestream Ads
TL Community
The Automated Ban List
Blogs
Sexual Health Of Gamers
TrAiDoS
lurker extra damage testi…
StaticNine
Broowar part 2
qwaykee
Funny Nicknames
LUCKY_NOOB
Iranian anarchists: organize…
XenOsky
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1724 users

Who the hell coded 1.16? - Page 3

Blogs > R1CH
Post a Reply
Prev 1 2 3 4 5 6 7 8 Next All
funkie
Profile Blog Joined November 2005
Venezuela9376 Posts
December 16 2008 15:04 GMT
#41
On December 16 2008 23:01 tec27 wrote:
I'm pretty sure whoever programmed that part of the patch jsut rolled some dice to pick the sleeping time. That's how all the good programmers do it, anyhow

Also, the reason its probably taking so long for 1.16.1 is that they are actually putting it through its QA paces this time, unlike last time Can't release two crappy patches in a row (or can they?)



Heh, well, Blizzard has never ceased to amaze me, so What do you know ;D:
CJ Entusman #6! · Strength is the basis of athletic ability. -Rippetoe /* http://j.mp/TL-App <- TL iPhone App 2.0! */
FreeZEternal
Profile Joined January 2003
Korea (South)3396 Posts
December 16 2008 15:18 GMT
#42
well, obviously this was not tested in QA before pushing it live. At least this is just a game, same thing happened in the place I work, Production went down for half a day...do you know how much money is that? lol
miseiler
Profile Blog Joined October 2008
United States1389 Posts
December 16 2008 17:07 GMT
#43
I can't believe how straightforward this is. And like someone mentioned earlier in the thread, it seems exactly like something I would do as well, having zero experience in real time programming.

I'll bet a 1 ms delay never occurred to him/her, either.

Thought process:
"Huh. CPU overloaded. What happens if I introduce a 5 ms delay here?"
"Nice! It worked! I told my boss it'd take a week, so I think I'll get paid to play the D3 beta for a while."
"Jinro soo manly wearing only a T-Shirt while the Koreans freeze in their jackets" -- Double_O
"He's from Sweden, man. We have to fight polar bears on our way to school." -- Yusername
Disastorm
Profile Joined January 2008
United States922 Posts
Last Edited: 2008-12-16 17:17:29
December 16 2008 17:14 GMT
#44
so wait i dont understand. why did the devs put a random 10 msecond delay loop in the middle of their code? was that their solution to removing the 100% cpu usage? so if i understand correctly, their code is less efficient than CPU Savior which only adds 1 msecond delay?
"Don't worry so much man. There won't be any more zergs left to QQ. Lots of QQ about TvT is incoming though I bet." - Vrok 9/21/10
Scorch
Profile Blog Joined March 2008
Austria3371 Posts
Last Edited: 2008-12-16 17:23:12
December 16 2008 17:22 GMT
#45
On December 17 2008 02:14 Disastorm wrote:
so wait i dont understand. why did the devs put a random 10 msecond delay loop in the middle of their code? was that their solution to removing the 100% cpu usage? so if i understand correctly, their code is less efficient than CPU Savior which only adds 1 msecond delay?

I don't know any specifics, but my guess is that stuff is ten times as responsive if the sleep lasts only 1ms instead of 10ms. No sleeping at all results in busy waiting and thus 100% load.
MasterOfChaos
Profile Blog Joined April 2007
Germany2896 Posts
December 16 2008 17:52 GMT
#46
Things are not that simple. The delay passed to sleep is a minimum delay. The function only returns at the next tick after the minimum delay has elapsed. On my comp the tick occurs every 16ms, on older comps/OS that interval can be up to 55ms.
The tick interval can be changed by a program at global level, affecting the whole system. Afaik CPU-Savior does that.
The mistakes blizzard made are not that noobish as some of you thought. The early CPU-Savior versions had similar problems. And the ingame lag does not occur on every comp (or atleast some people like me don't notice it).
The main problem is that it passed QA(or was not send to QA at all).
The /r bug is a real wtf on the other hand.
LiquipediaOne eye to kill. Two eyes to live.
Ki_Do
Profile Blog Joined July 2008
Korea (South)981 Posts
Last Edited: 2008-12-16 18:32:20
December 16 2008 18:31 GMT
#47
noobish or not
rich/you and not blizzard programmers fixed many of problems like this.
maybe you and him could be hired too,bet u would be successful breaking sc2 engine
I've got a point, and i'm ready to kill or die for it.
Equinox_kr
Profile Blog Joined December 2006
United States7395 Posts
December 16 2008 19:11 GMT
#48
R1CH BRINGING DOWN THE PAIN
^-^
Night[Mare
Profile Blog Joined December 2004
Mexico4793 Posts
December 16 2008 19:21 GMT
#49
wow rich i hope i'll be as good programmer as you someday :D
Teamliquidian townie
floor exercise
Profile Blog Joined August 2008
Canada5847 Posts
December 16 2008 19:23 GMT
#50
I understand how this could happen when CPU savior did the same thing. I even understand not having a ton of testing go into these patches since SC is really old and frankly for it to be updated at all anymore is surprising. What I don't like is that this patch has been out for how long now? There was feedback about how awful 1.16 runs on some peoples computers hours after the patch was released. There's even detailed explanations why from people like r1ch, so why has there not been a followup patch yet to fix this?
Not_Computer
Profile Blog Joined January 2007
Canada2277 Posts
December 16 2008 19:27 GMT
#51
R1CH is amazing :o
"Jaedong hyung better be ready. I'm going to order the most expensive dinner in Korea."
ZergZoul
Profile Joined April 2007
Mexico408 Posts
Last Edited: 2008-12-16 19:44:24
December 16 2008 19:44 GMT
#52
R1CH can see the matrix code... He Is The One!
Racenilatr
Profile Blog Joined August 2008
United States2756 Posts
December 16 2008 19:55 GMT
#53
lol I love ur language R1ch! It actually makes sense to me....but even if i tried i would never be able to apply it :D Still all very reasonable though and its easy to follow on.
BloodyC0bbler
Profile Blog Joined September 2004
Canada7876 Posts
December 16 2008 20:36 GMT
#54
R1ch, single handedly bitch slapping the man with each failed if statement
#3 Member of the Chill Fanclub / Rhaegar fought nobly. Rhaegar fought valiantly. Rhaegar fought honorably. And Rhaeger died. --Ser Jorah Mormont TL MAFIA FORUM http://www.teamliquid.net/forum/index.php?show_part=31 go go !
Bill307
Profile Blog Joined October 2002
Canada9103 Posts
Last Edited: 2008-12-16 20:50:27
December 16 2008 20:41 GMT
#55
On December 17 2008 02:52 MasterOfChaos wrote:
Things are not that simple. The delay passed to sleep is a minimum delay. The function only returns at the next tick after the minimum delay has elapsed. On my comp the tick occurs every 16ms, on older comps/OS that interval can be up to 55ms.
The tick interval can be changed by a program at global level, affecting the whole system. Afaik CPU-Savior does that.
The mistakes blizzard made are not that noobish as some of you thought. The early CPU-Savior versions had similar problems. And the ingame lag does not occur on every comp (or atleast some people like me don't notice it).
The main problem is that it passed QA(or was not send to QA at all).
The /r bug is a real wtf on the other hand.

The other main problem with this bug is that the programmer did not contact the developers of CPU-Savior to ask them how they implemented it and what kinds of problems they ran into during testing.

Whether this was the fault of the programmer for being ignorant or naive, or the fault of a ridiculous non-disclosure agreement that prohibited him from asking such a harmless question, we'll never know.


As for the /r bug, QA definitely deserves major blame for that one regardless of how WTF-ish the implementation was. Honestly, whoever was responsible for testing that feature is a mediocre tester at best, definitely not the kind of guy you'd expect to be working for Blizzard. A message like ".r test" should have been an obvious test case and it takes about 2 seconds to verify it.
b3h47pte
Profile Blog Joined May 2007
United States1317 Posts
December 16 2008 22:47 GMT
#56
On December 16 2008 20:06 freelander wrote:
thx for the explanation.
this is my 3rd semester studying c++, i am making (lame) games with SDL, so i am interested in this stuff where is the good places in the game loop to put delays.
i have learnt some microcontroller programming meanwhile so I can understand some part of the assembly

i will check out this ollydbg stuff, I haven't heard about it yet but sounds great


if you're focused on making games, Assembly probably isn't THAT relevant to what you want to do. Assembly is probalby only helpful if you plan on making anti-hacks or something of that sort.
GearitUP
Profile Joined November 2008
United States337 Posts
December 16 2008 23:51 GMT
#57
Awesome discovery, I been wondering why these problems were occuring however I have to agree with

On December 16 2008 19:23 Plexa wrote:
First step in making SC obsolete in preparation for SC2


i believe this is true :/
Own<Owned<Ownt<Pwn<Pwned<PwnT< YOU NEWB!
Ganfei
Profile Blog Joined August 2008
Taiwan1439 Posts
December 17 2008 00:07 GMT
#58
well if iccup adds that 3v3 ladder then screw bnet, don't need it for anything anymore
You are crushing me like a cheese sandwich
CharlieMurphy
Profile Blog Joined March 2006
United States22895 Posts
Last Edited: 2008-12-17 00:21:16
December 17 2008 00:20 GMT
#59
Yea, they really have a tester problem. I bet they don't even test it properly. Guy probably just makes the code and makes sure it works then passes it up (without checking for side effects).

They really need to consult outside programmers like MoC, Tec27(the adv loader guy, sorry i forget ur name :/), and you r1ch.

I was just discussing this with EchoOfRain on bnet yesterday. He said that they changed the ports or something too? I don't think he was right.
..and then I would, ya know, check em'. (Aka SpoR)
R1CH
Profile Blog Joined May 2007
Netherlands10342 Posts
December 17 2008 00:25 GMT
#60
On December 17 2008 02:52 MasterOfChaos wrote:
Things are not that simple. The delay passed to sleep is a minimum delay. The function only returns at the next tick after the minimum delay has elapsed. On my comp the tick occurs every 16ms, on older comps/OS that interval can be up to 55ms.

This too was another wtf, they added sleeps without setting the timer resolution to 1ms! So every Sleep could be up to 16ms, however as my test program I posted on my previous blog showed, most people have high timer resolutions to begin with.
AdministratorTwitter: @R1CH_TL
TL+ Member
Prev 1 2 3 4 5 6 7 8 Next All
Please log in or register to reply.
Live Events Refresh
RSL Revival
10:00
Season 5 Korea Qualifier
Solar vs SHINLIVE!
Classic vs Percival
Ryung 793
CranKy Ducklings SOOP194
CranKy Ducklings182
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Ryung 793
Lowko246
SortOf 140
StarCraft: Brood War
Britney 22467
Calm 6175
Sea 2827
Jaedong 1342
Horang2 958
Hyuk 778
Leta 313
BeSt 294
Mini 236
Soma 230
[ Show more ]
Stork 203
actioN 201
Rush 152
Last 128
Light 128
Larva 121
Snow 106
Dewaltoss 91
ZerO 87
Soulkey 77
Pusan 72
ToSsGirL 68
Sacsri 65
Killer 56
JYJ 53
Hyun 47
Mind 40
Sharp 38
sSak 35
Backho 32
ggaemo 26
sorry 26
[sc1f]eonzerg 25
IntoTheRainbow 24
hero 22
Bale 20
HiyA 19
zelot 17
yabsab 17
soO 16
Hm[arnc] 14
scan(afreeca) 12
Shine 8
Shinee 6
Movie 3
Dota 2
Gorgc3016
Counter-Strike
SPUNJ248
Super Smash Bros
Mew2King146
Other Games
singsing1583
B2W.Neo425
XaKoH 224
Pyrionflax177
Trikslyr128
DeMusliM82
KnowMe71
RotterdaM56
QueenE11
ZerO(Twitch)7
Organizations
Dota 2
PGL Dota 2 - Main Stream9713
Other Games
gamesdonequick645
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 12 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• TFBlade1393
• Jankos1149
Upcoming Events
Replay Cast
12h 38m
The PondCast
22h 38m
KCM Race Survival
22h 38m
WardiTV Map Contest Tou…
23h 38m
Gerald vs herO
Clem vs Cure
ByuN vs Solar
Rogue vs MaxPax
ShoWTimE vs TBD
OSC
1d 3h
CranKy Ducklings
1d 12h
Escore
1d 22h
RSL Revival
2 days
Replay Cast
2 days
WardiTV Map Contest Tou…
2 days
[ Show More ]
Universe Titan Cup
2 days
Rogue vs Percival
Ladder Legends
3 days
uThermal 2v2 Circuit
3 days
BSL
3 days
Sparkling Tuna Cup
3 days
WardiTV Map Contest Tou…
3 days
Ladder Legends
4 days
BSL
4 days
Replay Cast
4 days
Replay Cast
4 days
Wardi Open
4 days
Afreeca Starleague
4 days
Soma vs TBD
Monday Night Weeklies
5 days
Replay Cast
5 days
Afreeca Starleague
5 days
TBD vs YSC
Replay Cast
6 days
Liquipedia Results

Completed

Proleague 2026-04-20
RSL Revival: Season 4
NationLESS Cup

Ongoing

BSL Season 22
ASL Season 21
CSL 2026 SPRING (S20)
IPSL Spring 2026
KCM Race Survival 2026 Season 2
StarCraft2 Community Team League 2026 Spring
WardiTV TLMC #16
Nations Cup 2026
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026
IEM Kraków 2026

Upcoming

Escore Tournament S2: W4
Acropolis #4
BSL 22 Non-Korean Championship
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
Maestros of the Game 2
2026 GSL S2
RSL Revival: Season 5
2026 GSL S1
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
IEM Atlanta 2026
Asian Champions League 2026
PGL Astana 2026
BLAST Rivals Spring 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.