• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 20:29
CET 02:29
KST 10:29
  • 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
Dark completes military service, returns to SC25[BSL23] RO16 Group Stage17Weekly Cups (Nov 2-8): herO back on top?2Weekly Cups (Oct 26 - Nov 1): MaxPax, herO, Solar win0Weekly Cups (October 19-25): Clem triples first in 5.0.175
StarCraft 2
General
Dark completes military service, returns to SC2 Greetings.. No more SC2 streamers on team liquid? Serral's getting trashed by New Catsle's Mind Weekly Cups (Nov 2-8): herO back on top?
Tourneys
Sea Duckling Open (Global, Bronze-Diamond) soO & FanTaSy return! SC2 Kevin Scrim 4v4 (Nov 16) RSL goes to London! 2026 Offline Finals Nov 21-22 Tasteless Time Warp: SC Evo Showmatch (May 25) Sparkling Tuna Cup - Weekly Open Tournament
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
List of top players active on ShieldBattery BW General Discussion Starcraft:Brood War Discord Servers Recommended BW Settings for Mouse and Video [BSL23] RO16 Group Stage
Tourneys
[BSL23] Ro16 Group C - Sunday 21:00 CET [BSL23] Ro16 Group A - Saturday 21:00 CET [$1250] International ShieldBattery League [Megathread] Daily Proleagues
Strategy
Pluto's TvP 5Marine 2Medic Push Infested Terran strategies in 2026 Nuke strategy worked in K-League 2026-11-09 50,000-Word Terran Builds Memo 2026-10-22
Other Games
General Games
Nintendo Switch Thread List of Game Threads The PlayStation 5 Stormgate/Frost Giant Megathread Path of Exile
Dota 2
Can Game Data Analytics Help Players Improvements
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 European Politico-economics QA Mega-thread Russo-Ukrainian War Thread Dating: How's your luck?
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
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: 11776 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
OSC
08:00
OSC Elite Rising Star #21
ArT vs MindelVK
MiniZergUA vs TBD
Shameless vs TBD
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Nathanias 138
ProTech58
StarCraft: Brood War
GuemChi 2473
Artosis 608
Barracks 82
League of Legends
JimRising 474
Counter-Strike
Fnx 1516
taco 283
Super Smash Bros
AZ_Axe131
Other Games
summit1g7034
tarik_tv5830
Day[9].tv796
shahzam469
PiGStarcraft311
C9.Mang0238
NeuroSwarm95
ViBE60
Mew2King52
[ Show 11 non-featured ]
StarCraft 2
• davetesta38
• musti20045 31
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Migwel
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Other Games
• Day9tv796
Upcoming Events
Ultimate Battle
10h 31m
OSC
12h 31m
OSC
22h 1m
ByuN vs MaxPax
herO vs Krystianer
Percival vs Shameless
LetaleX vs YoungYakov
Nicoract vs Gerald
GgMaChine vs ArT
CranKy Ducklings
1d 8h
WardiTV Invitational
1d 10h
ByuN vs SHIN
MaxPax vs Solar
Clem vs TBD
herO vs TBD
Lambo vs TBD
Rogue vs TBD
IPSL
1d 15h
TerrOr vs IJ_Terran
rasowy vs Hazorath
BSL
1d 18h
TerrOr vs OyAji
UltrA vs Gosudark
Sparkling Tuna Cup
2 days
WardiTV Invitational
2 days
IPSL
2 days
Art_Of_Turtle vs KameZerg
Radley vs George
[ Show More ]
BSL
2 days
Artosis vs Dewalt
Ret vs Tech
WardiTV Weekly
3 days
PiGosaur Cup
4 days
The PondCast
5 days
GSL
6 days
Replay Cast
6 days
Liquipedia Results

Completed

Proleague 2026-11-12
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
BLAST Rivals Fall 2026
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 591
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
PGL Major Singapore 2026
Stake Ranked Episode 6
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.