• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 19:55
CET 01:55
KST 09:55
  • 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
[ASL22] Finals Preview: Sweet Victory!12[ASL22] Ro4 Preview: Mirror Mirror6[ASL22] Ro8 Preview: Within Reach5[ASL22] Ro8 Preview: In A Tizzy11[ASL22] Ro16 Preview: Holy Diver5
Community News
Weekly Cups (Oct 26 - Nov 1): MaxPax, herO, Solar win0Weekly Cups (October 19-25): Clem triples first in 5.0.175Evil Geniuses - shutting down23ISSL (IntoTheTV x SOOP SC2 League): Premier7Weekly Cups (October 12-18): 5.0.17 era begins1
StarCraft 2
General
Serral's getting trashed by New Catsle's Mind No more SC2 streamers on team liquid? StarCraft open world shooter announced at BlizzCon [D] Hacker peak in sc2 ? Liquibets sc2 season 30
Tourneys
SC2 iNu's Battles #22 SC4ALL: II Venue Change Announcement! Sparkling Tuna Cup - Weekly Open Tournament WardiTV Mondays ISSL (IntoTheTV x SOOP SC2 League): Premier
Strategy
[H] ZvP Mid-Late Game: Stalkers Collossi HT
Custom Maps
Starcraft 2 Advance [G] How to playtest arcade maps [D] the control group Simple Questions/Answers
External Content
The PondCast: SC2 News & Results Mutation # 551 Robotic Revival Mutation # 550 Graveyard Shift Mutation # 549 Endless Sparkles
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ List of top players active on ShieldBattery Rollback Netcode in Brood War [Megathread] Daily Funny Videos BW General Discussion
Tourneys
[Megathread] Daily Proleagues [$1250] International ShieldBattery League Small VOD Thread 2.0 KCM Race Survival 2026 Season 4
Strategy
Nuke strategy worked in K-League 2026-11-09 50,000-Word Terran Builds Memo 2026-10-22 Cliff Jump Revisited (1 in a 1000 strategy)
Other Games
General Games
ZeroSpace Early Access is Now Live! Path of Exile Nintendo Switch Thread General RTS Discussion Thread Stormgate/Frost Giant Megathread
Dota 2
Dota 2 Champions League Season 3 Begins April 25!
League of Legends
[TL LoL EUW IHs] Teemo shall perish
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Community Thread
Community
General
US Politics Mega-thread Trading/Investing Thread Russo-Ukrainian War Thread Dating: How's your luck? Things Aren’t Peaceful in Palestine
Fan Clubs
Fan Club Resource Thread Reynor Fan Club The Flash Fan Club
Media & Entertainment
Movie Discussion! Anime Discussion Thread [Manga] One Piece
Sports
Football (Soccer) Thread TeamLiquid Health and Fitness Initiative For 2023 MLB/Baseball 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List Recent Gifted Posts
Blogs
The time I organised my…
AssyrianKing
Playlenda
Playlendapro
Why I built Repalyzer (1.1.…
BlueStar
Innovate or Game Over?
TrAiDoS
ShieldBattery on Mac
Kraekkling
[ASL22] Ro4 Day1 Ticket Giv…
bITt.mAN
Can Bots Beat Pros?? Starcr…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 12359 users

Who the hell coded 1.16?

Blogs > R1CH
Post a Reply
1 2 3 4 5 6 7 8 Next All
R1CH
Profile Blog Joined May 2007
Netherlands10343 Posts
December 16 2008 10:18 GMT
#1
So I finally got around to taking a look at the lag issues in 1.16. Seems someone at Blizzard thought it would be a good idea to throw a 10ms delay into the game loop AND a 5ms delay after processing the Windows message queue. 15ms of delays in a game that previously has 0ms of delays can mess up quite a few things, as evidenced by the problems the early versions of CPU Savior had. For a game with a pro scene like Starcraft, this really should never have made it past QA, if there even was any.

Why 15ms? Who knows. The most you need is 1ms to stop 100% CPU usage, which is what CPU Savior uses. They also added some delays onto the bnet screens (the game loop isn't run on the bnet screen, so the 15ms delays wouldn't work), very similar to the comments I made in the CPU Savior source code - except instead of delaying on infrequently-used parts of the code, there is a 5ms delay on code that is run very often - hence why the bnet screens feel so sluggish.

So what happens now? I could make a patch to fix the lag issues in 1.16, but what would that achieve? Iccup already is remaining on 1.15.3, KeSPA has shunned 1.16 and I would hope Blizzard already realizes what a disaster of a patch 1.16 is. Why are they taking so long to fix what I could do in a few hours? And who is responsible for this mess in the first place?

****
AdministratorTwitter: @R1CH_TL
Carnac
Profile Blog Joined December 2003
Germany / USA16648 Posts
December 16 2008 10:19 GMT
#2
random interns doing the patches now huh
ModeratorHi! I'm a .signature *virus*! Copy me into your ~/.signature to help me spread!
Plexa
Profile Blog Joined October 2005
Aotearoa39261 Posts
December 16 2008 10:23 GMT
#3
First step in making SC obsolete in preparation for SC2
Administrator~ Spirit will set you free ~
Bockit
Profile Blog Joined November 2004
Sydney2287 Posts
December 16 2008 10:23 GMT
#4
So when is Bliz hiring R1CH and taking him away from us?
Their are four errors in this sentance.
Plexa
Profile Blog Joined October 2005
Aotearoa39261 Posts
December 16 2008 10:24 GMT
#5
Fuck what we need is a huge petition -.-;
Administrator~ Spirit will set you free ~
Aerox
Profile Blog Joined September 2004
Malaysia1213 Posts
December 16 2008 10:24 GMT
#6
"Eyes in the sky."
R1CH
Profile Blog Joined May 2007
Netherlands10343 Posts
December 16 2008 10:25 GMT
#7
On December 16 2008 19:24 Plexa wrote:
Fuck what we need is a huge petition -.-;

I'm sure they are very aware of the problem - if KeSPA aren't using 1.16 they surely have some contacts there to figure out why.
AdministratorTwitter: @R1CH_TL
stenole
Profile Blog Joined April 2004
Norway870 Posts
December 16 2008 10:29 GMT
#8
Patch 1.16.1 is something we can all put on our christmas wishlists. I would want latency changer on the patch too, but I'm scared the programmers would mess that up also.
R1CH
Profile Blog Joined May 2007
Netherlands10343 Posts
December 16 2008 10:30 GMT
#9
As far as I'm aware there are already 1.16 versions of latency changer and other MoC plugins, but you have to download them manually.
AdministratorTwitter: @R1CH_TL
freelander
Profile Blog Joined December 2004
Hungary4707 Posts
December 16 2008 10:33 GMT
#10
r1ch

I am just a beginner programmer so to say, how could you know the exact numbers of delaying?
I am curious
And all is illuminated.
stenole
Profile Blog Joined April 2004
Norway870 Posts
December 16 2008 10:35 GMT
#11
True, but having it part of the standard package would be a bonus (if it worked like it was supposed to). Some of us enjoy playing random public games now and then and it would be nice to have these be closer to a LAN experience.
Nyovne
Profile Joined March 2006
Netherlands19141 Posts
December 16 2008 10:35 GMT
#12
Decompiling?

Nice blog btw R1CH, and Plexa it's all a conspiracy!!
ModeratorFor remember, that in the end, some are born to live, others born to die. I belong to those last, born to burn, born to cry. For I shall remain alone... forsaken.
SpiritoftheTunA
Profile Blog Joined August 2006
United States20903 Posts
December 16 2008 10:38 GMT
#13
amen
posting on liquid sites in current year
R1CH
Profile Blog Joined May 2007
Netherlands10343 Posts
Last Edited: 2008-12-16 10:42:34
December 16 2008 10:41 GMT
#14
On December 16 2008 19:33 freelander wrote:
r1ch

I am just a beginner programmer so to say, how could you know the exact numbers of delaying?
I am curious

I used OllyDbg to disassemble BW while it was running and added breakpoints on Sleep until I found the main culprits:

CPU Disasm
004D1B69 6A 05 push 5
004D1B6B |. FF15 0CE14F00 call dword ptr ds:[<&KERNEL32.Sleep>]

This one is right after the Win32 message loop, so I'm assuming its some kind of delay executed when there are no pending messages. The above ASM code is equivalent to Sleep (5) in C.

CPU Disasm
004D92AB |. FF15 C4E04F00 call dword ptr ds:[<&KERNEL32.GetTickCount>]
004D92B1 |. 8B15 4C636D00 mov edx,dword ptr ds:[6D634C]
004D92B7 |. 8BC8 mov ecx,eax
004D92B9 |. 2BCA sub ecx,edx
004D92BB |. 83F9 0A cmp ecx,0A
004D92BE |. 73 16 jnb short 004D92D6
004D92C0 |. B8 0A000000 mov eax,0A
004D92C5 |. 2BC1 sub eax,ecx
004D92C7 |. 3D C8000000 cmp eax,0C8
004D92CC |. 73 07 jnb short 004D92D5
004D92CE 50 push eax
004D92CF FF15 0CE14F00 call dword ptr ds:[<&KERNEL32.Sleep>]
004D92D5 |> C3 retn

This is the nasty code - it checks how much time has passed since the game last checked the time (GetTickCount). If it's less than 10ms, it sleeps for whatever duration is needed to make 10ms with some kind of sanity check where it won't sleep for more than 200ms.
AdministratorTwitter: @R1CH_TL
Ganfei
Profile Blog Joined August 2008
Taiwan1439 Posts
December 16 2008 10:46 GMT
#15
I'm glad someone knowledgeable looked at this patch and can actually say what is wrong with it. It has totally killed bnet for me and I resent the fact that Blizzard could be so irresponsible as to release such a crappy patch without apparently having any review or testing of it.
You are crushing me like a cheese sandwich
Nyovne
Profile Joined March 2006
Netherlands19141 Posts
December 16 2008 10:56 GMT
#16
It's a kind of magic.
ModeratorFor remember, that in the end, some are born to live, others born to die. I belong to those last, born to burn, born to cry. For I shall remain alone... forsaken.
Hot_Bid
Profile Blog Joined October 2003
Braavos36402 Posts
December 16 2008 10:56 GMT
#17
hahah i like reading r1chs posts its like another language
@Hot_Bid on Twitter - ESPORTS life since 2010 - http://i.imgur.com/U2psw.png
Hypnosis
Profile Blog Joined October 2007
United States2061 Posts
December 16 2008 11:00 GMT
#18
How the hell do you learn all this..

sick
Science without religion is lame, Religion without science is blind
IzzyCraft
Profile Blog Joined June 2007
United States4487 Posts
December 16 2008 11:03 GMT
#19
Yup he sees something that more or less no one else does apparently including the blizz people that coded it.
I have ass for brains so,
even when I shit I'm droping knowledge.
Doso
Profile Joined March 2008
Germany769 Posts
December 16 2008 11:04 GMT
#20
The scary part is, i can read some of that assembler code. Although i've never disassembled any x86 code - just had basic 8081 assembler in university.

Anyways ... hope for 1.16.1 - I am noot and play bnet so 1.15.3 isnt an option.
1 2 3 4 5 6 7 8 Next All
Please log in or register to reply.
Live Events Refresh
Replay Cast
08:00
ISSL: Premier - Final Day
CranKy Ducklings96
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
JimRising 602
StarCraft: Brood War
GuemChi 2484
Artosis 534
EG.Machine 13
League of Legends
Doublelift6469
Super Smash Bros
hungrybox358
AZ_Axe104
PPMD62
Other Games
summit1g9549
shahzam508
C9.Mang0241
B2W.Neo165
Maynarde97
NeuroSwarm82
Organizations
Other Games
gamesdonequick721
BasetradeTV125
Counter-Strike
PGL59
[ Show 10 non-featured ]
StarCraft 2
• Hupsaiya 82
• davetesta13
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Migwel
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Upcoming Events
Sparkling Tuna Cup
9h 5m
WardiTV Invitational
11h 5m
YoungYakov vs Lambo
SHIN vs TBD
Percival vs Shameless
Solar vs TBD
OSC
22h 5m
ByuN vs MaxPax
herO vs Krystianer
Percival vs Shameless
LetaleX vs YoungYakov
Nicoract vs Gerald
GgMaChine vs ArT
PiGosaur Cup
1d
INu's Battles
1d 11h
ByuN vs Classic
3D!Clan Event
1d 15h
The PondCast
2 days
KCM Race Survival
2 days
WardiTV Invitational
2 days
Ultimate Battle
3 days
[ Show More ]
CranKy Ducklings
4 days
IPSL
4 days
TerrOr vs IJ_Terran
rasowy vs Hazorath
Sparkling Tuna Cup
5 days
IPSL
5 days
Art_Of_Turtle vs KameZerg
Radley vs George
Replay Cast
5 days
WardiTV Weekly
6 days
Replay Cast
6 days
Liquipedia Results

Completed

Proleague 2026-11-06
Blizzard Classic Cup 2026
HCC Season 3

Ongoing

Acropolis #5
KCM Race Survival 2026 Season 4
International ShieldBattery League
Individual League
BSL Season 23
IPSL Winter 2026-27
Calamity Cup Div. A Season 8
IEM Beijing 2026
PGL Masters Bucharest 2026
Stake Ranked Episode 5
1win Private Club #2
Thunderpick World Champ. '26
ESL Pro League Season 24
Stake Ranked Episode 4
1win Private Club #1
Logitech G Play Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #3
BLAST Open Fall 2026

Upcoming

YSL S4
Sector 951
SC4ALL II: Brood War
BSL 23: Non-Korean Championship
HSC XXX
Stellar Fest 2: Lunar Cup
StarCraft2 Weekly Open Tournament 2026 Grand Finals
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
Underdog Cup 2026 Div 2-3
PGL Bucharest 2027
BLAST Bounty Winter 2027
eXTREMESLAND 2026
PGL Major Singapore 2026
Stake Ranked Episode 6
BLAST Rivals Fall 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.