透明度にも使用するため(アルファはフロートです)、浮動小数点値である粒子の寿命(粒子システムをシミュレートしています)のプロパティがあります。float から double への変換に関する質問を読み、それがかなりの問題であることに気付いたので、float を double に変換できない可能性があります。問題は、次のようなライフ変数から粒子のパスを計算しようとすることです。
particle.x += particle.xi;
particle.xi = Math.Sin(life);
注: ライフ値は最初は 1.0f で、0 まで減少します (<0.0f の場合、パーティクルを再初期化し、ライフを 1.0f に設定します)。
しかし、Sin は double 値を必要としています...そして、最初に戻ります。したがって、1つの解決策は、lifeプロパティのタイプをdoubleに変更することであり、透明性のためにそれを使用する場合、このdoubleはfloatに変換されますが、これは大きな問題にはなりません(私は推測します)。
しかし、私の質問は、それを行う他の方法があるかどうかです.doubleはより多くのメモリを必要とします(この場合、これ以上の意味はわかりません-倍になると思います.500個のパーティクルがあり、それぞれがこのプロパティがあります)。この float プロパティから何らかの方法で sin 値を計算する必要があります。
それで、それは可能ですか?記憶に関する私の懸念は重要ですか?