質問です。
DirectXサンプルのスキンメッシュをいじり倒して、概ね理解はできてきたと思うのですが、1点気になることがあります。

D3DXMESHCONTAINER_DERIVED::pBoneOffsetMatrices
これなのですが、オフセット行列をコピーしているようなのですが、そのコピー箇所を引用すると

// get each of the bone offset matrices so that we don't need to get them later
for (iBone = 0; iBone < cBones; iBone++)
{
  pMeshContainer->pBoneOffsetMatrices[iBone] = *(pMeshContainer->pSkinInfo->GetBoneOffsetMatrix(iBone));
}

こうなっています。
コメントを訳すと「後でこれらが必要にならないように、各ボーンオフセット行列を取得しておく」と読めるのですが、
別にpSkinInfoは解放せず持ち続けるようです。

pBoneOffsetMatrices自体は確かに描画の時に使っているのですが、別にその時
*(pMeshContainer->pSkinInfo->GetBoneOffsetMatrix(iBone))
を使えばいいのではないかと思います。

pSkinInfo->GetBoneOffsetMatrixでとれる行列は、何かしらが原因で変化してしまったりするのでしょうか?
(変化してしまうから、変化する前に控えをとっているのでしょうか?)

それとも、GetBoneOffsetMatrixの呼び出しが超遅いとかでしょうか?