皆様ご存知の通り、Ver.Kにはメモリリークという致命的な不具合が存在しています。
で、このメモリリークについてですが、
つい先日、Ver.Kの派生プロジェクト「TJAP2fPC」の派生プロジェクト(これもうわかんねえな)の「TJAPlayer3」の開発をしているAioiLight氏がメモリリーク対策をしたコードのスクショをツイートしていまして。
それがCTextureクラスのIDisposable実装を作り変えたという内容でした。
Dispose実装を修正するという発想に目からウロコ。
それから「選曲画面で動けば動くほどメモリが消費される」とのことで。
これは曲名描画処理を行っているPrivateFont(またはPrivateFastFont)クラス周辺の解放ミスでした。
AioiLight氏も実証していますが、曲名描画処理を消すとメモリの推移はほぼ正しいものになります。
....みたいな記事を書いてたら引っ越しの準備に追われ、気がつけば1ヶ月経っていました。
めちゃくちゃ忙しすぎて今もギリギリな状況でこの記事を復活させている段階でございます。
で、この記事を保存したのが3月13日22時58分。
この前日と3日後にDTXMania本家でも新たなメモリリーク対策が行われています。
これを適用したVer.Kが...ごめんなさい。まだ用意できてないです。
少なくとも今コミットしてないやつを放ったらかしたままどっか行くとかはしないので、期待しないで待って頂けたら幸いです。
PR