Hi there. I’ve noticed there’s a reproducible bug when viewing replays in Starcraft Remastered, specifically on Mac. I’ve reproduced this on multiple OSX installs (10.14 Intel and 12.1 ARM64) and on two different machines, as well as on a clean user account. The bug only occurs on macOS, not on Windows.
To summarize: watching a replay on Bnet specifically causes a massive 100% cpu spike whenever a unit is selected or a control group is assigned that lasts several seconds.
This only occurs when using “create game” to watch the replay, and not when using “Watch replay” on the statistics screen after a game has finished.
If you are watching a replay together with someone else, and that person clicks on units, the same cpu spike also occurs even if there’s no visual indication of it on your end. This even happens if the other person is running Windows (as long as you are running macOS).
Replays largely work fine when not watching via Bnet - when watching in LAN, and in single player, they do occasionally have unexplained lag spikes, but very rarely so, whereas on Bnet it’s every single time you select something.
Interestingly, the bug briefly does not occur right after loading the replay file—that is, right after the replay begins to play back, and right after you seek to an earlier point in the replay (which causes the replay file to be reloaded). It seems that there’s a period of exactly 4 seconds before the bug begins to manifest. This occurs consistently.
I’ve not been able to find any way to work around the issue. No combination of settings fixes it, it happens when logged in or not logged in, it happens after disconnecting from the internet while in a replay, killing helper processes like the Bnet app or the browser proxy does nothing.
I’ve made a video that demonstrates the issue: Starcraft macOS replay bug - 2022 05 06 12 54 01 - YouTube - I’ve annotated it to describe what’s going on. The video has no audio.
This is unfortunately making it impossible to watch replays on Bnet with other people and stream them, which is something I want to do, so please feel free to ask me to do things to help figure it out if that’s necessary. I’m a developer so you can ask me to try to do or report technical things.
If there is a workaround I’d appreciate any help! I haven’t been able to figure out any way to get around this whatsoever.
edit: I can’t directly attach files here that I can see, but I’ve made two CPU samples of the process: one while everything is fine, and one while the CPU spike is ongoing. The system isn’t letting me include the link, but see here: gist,github,com/msikma/0cf31fda08a67a87e2c246f2631b2d96 - annotation is at the bottom of the page.