C++ ゲーム開発

【C++】mimallocをゲームで使ってみる.

 


 

まとめ

  • mimalloc の組み込みを行ってみたのでその備忘録

mimalloc とは

マイクロソフトが開発・公開している,
高性能なメモリアロケータ.

MIT ライセンスで公開されている.

ゲームへの実績として,
あの「DEATH STRANDING」で使用されているとうことだから頼もしい.

github.com

仕組みについてはこちらの解説がわかりやすい.

qiita.com

そもそもアロケータって?
という方はこちらから.

marupeke296.com

mimalloc を入手

いつもどおり github から入手.
zip で落としてくるのが楽.

mimalloc をビルド

マイクロソフト製というだけあって,
Windows (Visual Studio )でのビルドが大変楽.

ide フォルダ内に vs2017 / vs2019 の プロジェクト一式が揃っているので,
sln を開いてビルドすれば良い.

mimalloc を組み込む

公式のリファレンスにもある通り.

microsoft.github.io

static lib をリンクし,

#include "mimalloc-new-delete.h"

とするだけで, operator new で new delete を乗っ取ってくれるので,
プログラム内で行った全ての new delete が mimalloc のものに置き換わる.

計測

まだ実際に計測はしていないし,しばらくする予定もない.
ただ自己満足のために mimalloc を組み込んだだけ.
計測したらエントリにする.

おわりに

本当はDXライブラリ内で行われる
メモリ確保も一応コイツで置き換えておきたいんだけど,
どうやらAPIを眺めてみてもその口はなさそう.

やるなら DxAlloc 内をいじってこちらでビルドする,とかなのかなぁ.

Effekseer はこの辺は対応されていて,
アロケータを指定することができる.

ゲームに組み込むことがしっかり考えられていて素晴らしい.

  • この記事を書いた人

GOTH

鹿児島県出身,吉祥寺在住の27歳.職業はゲーム会社でプログラマー.趣味はバイク,車,キャンプ,ガジェット,読書,そしてゲーム開発. サイトのテーマはプログラミングとガジェットでライフハック.たまに趣味に関する雑感や記録を残していく備忘録.ツイッターもやってます.
自己紹介
お問い合わせ

-C++, ゲーム開発