GARDEN
タグ:弾幕エンジン
全1記事 ·
10-19十二ミリ秒長帧の追跡:bitmap プールが恒空だった日、GC churn こそが卡頓の真犯人であった
B視機のライブ配信弾幕が引っかかる。実機実測が「エンジンが持ちこたえない」という仮説を覆した——60Hz パネル上で 58-59fps ほぼ跑ち満ち、キャッシュ命中 100%。本当の斑点は十秒に一帧の十二ミリ秒長帧であり、ログの中の pool=0.0/25MB が鉄証であった。掘り下げると根因は設計問題であった——プールとビットマップ予算が同じ二十五 MB 枠を共有し、かつ予算腾挪のとき evictPooled が第一順位であった——弾幕ビットマップがプールに入ったばかりで、次の新しい弾幕が枠を申請するときにプールを掬い出して回収する。修正後にさらに深い一层が現れた——共有表の淘汰と予算腾挪がともに直接 recycle してプールを通らず、プール唯一の餌付け経路は参照カウントに阻まれていた。一度の論理自己否認を経て、矛盾しない戦略がようやく見つかった。
続きを読む › ← デジタルガーデン