まとめ
- mimalloc の組み込みを行ってみたのでその備忘録
mimalloc とは
マイクロソフトが開発・公開している,
高性能なメモリアロケータ.
MIT ライセンスで公開されている.
ゲームへの実績として,
あの「DEATH STRANDING」で使用されているとうことだから頼もしい.
仕組みについてはこちらの解説がわかりやすい.
そもそもアロケータって?
という方はこちらから.
mimalloc を入手
いつもどおり github から入手.
zip で落としてくるのが楽.
mimalloc をビルド
マイクロソフト製というだけあって,
Windows (Visual Studio )でのビルドが大変楽.
ide フォルダ内に vs2017 / vs2019 の プロジェクト一式が揃っているので,
sln を開いてビルドすれば良い.
mimalloc を組み込む
公式のリファレンスにもある通り.
static lib をリンクし,
#include "mimalloc-new-delete.h"
とするだけで, operator new で new delete を乗っ取ってくれるので,
プログラム内で行った全ての new delete が mimalloc のものに置き換わる.
計測
まだ実際に計測はしていないし,しばらくする予定もない.
ただ自己満足のために mimalloc を組み込んだだけ.
計測したらエントリにする.
おわりに
本当はDXライブラリ内で行われる
メモリ確保も一応コイツで置き換えておきたいんだけど,
どうやらAPIを眺めてみてもその口はなさそう.
やるなら DxAlloc 内をいじってこちらでビルドする,とかなのかなぁ.
Effekseer はこの辺は対応されていて,
アロケータを指定することができる.
ゲームに組み込むことがしっかり考えられていて素晴らしい.