Blizzard / Blizzard/s2client-api

replay speed

Open
#190 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
1.7k
Forks
280
PR merge metrics
No merged PRs in 30d

Description

running examples/replay I noticed that the application needs 30% CPU time, whereas Main_Thread consumes 70%. On my laptop computer this restricts replay speed to about 170 frames/sec. This test also generated ~22MB/sec network traffic, i.e. ~130KB/frame, which seems high given that no compression is currently used and not that much actually happens between individual frames.

Running "replay" with 100 step increments reduces its CPU load to almost 0 and increases the overall speed to ~500 frames/sec.

When replaying many files for ML purposes speed matters. Also, looking forward to SC2 AI tournaments, as long as bots are mostly scripted, communication speed will be the bottleneck.

I wonder whether the communication protocol can be improved to speed it up considerably, for instance by applying adaptive compression to state value differences as Sterling Orsten describes in his MSc thesis (see https://skatgame.net/mburo/teaching.html)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.