2020/08/04 - WT重くなる問題

【視聴者参加型】タイピング対決第4回~負けたら罰ゲーム~【鈴木勝/にじさんじ】をリアルタイム視聴。していたのだが、最後の対戦、凄く重くなっていた。

基本的には、対戦相手の内の誰かが重いとワードを打ち終わったときに待ちが発生するので全員が重くなるというのはあるが、それともちょっと違う感じ。以前から、長く対戦をしていると段々重くなるという報告があり、それなのかな? ということでちゃんと調査してみた。

とりあえず原因と思われる箇所は2箇所発見したので直して開発版にアップロードしてみた。他のテストを全くしていないのでどこかバグってるかもしれないが、重さが気になっていた方は試してみて欲しい。

  • デバッグ用に、入力オートマトンをmapに登録しているのだが、本体側のドメインでは削除していたがプラグイン側のドメイン上で削除されてなかった。段々mapの検索に時間がかかるようになって遅くなる
  • 結果表示画面を毎回作ってずっと残っていた。これは他の画面同様、画面を使い回すことでメモリ消費量を抑えるようにした。

まだ対戦を繰り返していくと微妙にメモリが増えていくのだが、とりあえずここまでで100回プレイしても500kpmくらいなら平気だったので公開。1000kpmとかだとまだ少し重くなる感じ。

あと、Windowsストア版も気になっていた効果音再生を改善。普通のMediaPlayerクラスを使っていたのだが、ゲーム用のXAudio2を使うようにしたらだいぶパフォーマンスが上がった。全体的なパフォーマンスはWindowsデスクトップ版よりもいいと感じる。こちらもテスト終わったら正式公開予定。

コメントする