大きなモデルやその他の構造化されたバイナリデータを、古いCDベースのゲームコンソールにできるだけ効率的にロードする必要があります。それを行うための最良の方法は何ですか?データはPythonアプリケーションからエクスポートされます。これはかなり手の込んだ趣味のプロジェクトです。
要件:
- 完全に標準に準拠したSTLに依存していません-しかし、私はuSTLを使用するかもしれません。
- オーバーヘッドをできるだけ少なくします。とても良い解決策を目指してください。オリジナルのプレイステーションで使用でき、しかも可能な限りモダンでエレガントなものにすることができます。
- 後方/前方互換性は必要ありません。
- 大きなチャンクのコピーはありません-できればファイルはバックグラウンドでRAMにロードされ、後ですべての大きなチャンクはそこから直接アクセスされます。
- 同じエンディアンとアラインメントを持つターゲットに依存するべきではありません。つまり、構造体をディスクにダンプするPythonのCプラグインはあまり良い考えではありません。
- 個々のファイルのRAMサイズの1/3の場合と同様に、ロードされたデータを移動できるようにする必要があります。断片化が問題になる可能性があります。悪用するMMUはありません。
- 私の注意期間は非常に短いので、堅牢性は大きなボーナスです。つまり、コードの保存部分を変更してロードを忘れるか、またはその逆なので、少なくともばかげたセーフガードがあればいいでしょう。
- 実行時のオーバーヘッドや深刻なメモリ管理の問題がなく、ロードされたデータと実行時に生成されたデータの間の交換可能性は素晴らしいボーナスです。
私は、Pythonで解析する半計画を持っています。これは、ポインターの代わりにオフセットを持つ構造体を使用する、構文が制限されたCヘッダーであり、メインアプリの便利なラッパー構造体/クラスは、オフセットを適切に型指定されたポインターに変換するゲッターを備えています。参考文献ですが、あなたの提案を聞きたいです。
明確化:リクエストは主にデータ読み込みフレームワークとメモリ管理の問題に関するものです。