0

ひどい質問をお詫びします。私はプラグインとスクリプトのためにPythonをアマチュアする3Dの男です。

パーティクル情報をエクスポートするための最悪の方法を思いついたのです(位置と位置合わせのために、フレームごとにパーティクルごとに2つのベクトル)。私の最初の方法は、各行がフレームを表す.txtに1行あたり10億のベクトルを書き出すことでした。これで、フレームごとに.txtを書き出し、フレームに応じて適切なものを読み込んで閉じます。

ええ、それは遅いです。そして、ばかげています。なんでもいい。私が行く/研究する方向をどのように提案しますか?別のファイルタイプ?A:checks google:bin、おそらく?それとも、私の遅らせた方法は実際にはそれほど長くはかからず、何か他のものが物事をより遅く動かしているのでしょうか?完全な答えは必要ありません。正しい方向に進むための一般的な情報だけです。

どうもありがとう。

4

1 に答える 1

0

この情報が別の python アプリケーションによって読み取られる場合 (特に、それを書き込んだのと同じアプリケーションの場合) は、データ構造をピクルするだけです。それらをメモリに構築し、pickle を使用してバイナリ ファイルにダンプするだけです。ここでの注意事項:

1)一度にすべてを実行するためのメモリはありますか、それとも一度に1フレームにする必要がありますか?最初のケースでは大きな結合ファイルを作成できますが、2 番目のケースではファイルごとに 1 フレームを実行する必要があります。メモリが不足している場合は、yieldステートメントが役に立ちます。2) 信頼性を高めるには、ピクルされたファイルが同じ Python バージョンである必要があるため、すべての読み書きアプリが同じ Python バージョン上にあることを確認する必要があります。

他のアプリケーションと交換する必要がある場合は、この種の問題のために設計されたオープン ソース ファイル形式であるAlembicを調べてください- 大量の粒子またはシミュレーション データを焼き付けます。Alembic データを処理するための Python モジュールが付属しているEcoCortex から入手可能な商用エクスポーターがあります。

于 2013-03-22T16:01:56.580 に答える