- 【初心者】スレを立てる前にココで質問を【Part23】
963 :名前は開発中のものです。[sage]:2012/02/16(木) 05:03:11.03 ID:raHL9C8l - C#を使っています。
小数の計算ですが、 int a = 1; int x = a * 1.7320508; と int a = 1; int x = a * 1.7; では計算時間は変わるでしょうか? 弾幕STGの弾の位置計算で、少しでも計算を軽くしようとしているところです。
|
- 【初心者】スレを立てる前にココで質問を【Part23】
974 :963[sage]:2012/02/16(木) 16:29:58.91 ID:raHL9C8l - ありがとうございます。
小数を切り上げると負荷がかかる部分でほんの少し早くなりました。 (windowsXP、CPU E8500、弾が画面上に1000個程ある状態で50fps→55fpsです) 弾が画面上に100個ぐらいなら差はありません。 また質問では言い忘れてたのですが 実際は int a = 1; float b = 1.7320508 ; int x = a * b; となっておりまして、 これを int a = 1; float b = 1.7; int x = a * b; としてコンパイルすると、「floatをdoubleに切り上げます」 とでてやはり軽くなりました。 アクションゲームみたいに対象がほぼ一つの場合は精度を上げ、 弾幕みたいに計算量が多いものは少数1位か2位ぐらいにすると良いのではないかと思います。
|
- 【初心者】スレを立てる前にココで質問を【Part23】
977 :963[sage]:2012/02/16(木) 18:18:00.36 ID:raHL9C8l - >>975
そうですね、開発が一段落したらやってみます >>976 1> sincos.cpp 1>d:\s\pai\sincos.cpp(3): warning C4305: '初期化中' : 'double' から 'float' へ切り詰めます。 逆でした。すんません。 コードは float sinx[361]={ 0 , 0.02 , 0.03 , ・・・ と言った感じで、sincosなどを配列で登録してます
|
- 【初心者】スレを立てる前にココで質問を【Part23】
980 :963[sage]:2012/02/16(木) 19:10:03.04 ID:raHL9C8l - 9割以上が弾の処理なんですが・・・
|
- 【初心者】スレを立てる前にココで質問を【Part23】
981 :名前は開発中のものです。[sage]:2012/02/16(木) 19:10:21.37 ID:raHL9C8l - まぁいっか
|