タグ

ブックマーク / marupeke296.com (2)

  • その8 4分木空間分割を最適化する!

    ホーム<ゲームつくろー!<衝突判定編 2D衝突編 その8 4分木空間分割を最適化する!(理屈編) ゲーム空間に置いたオブジェクトを総当りで衝突判定する事ははっきりと非効率だと言えます。ちょっと計算してみましょう。60FPSのゲームの1フリップ約16.6ミリ秒の内衝突判定に10%の時間余裕(1.66ミリ秒)を与えられたとします。もし1000回の衝突判定に1ミリ秒かかるなら(1000回/msec)、判定回数は1660回以下に抑えないと間に合いません。総当りだとこれは58オブジェクトくらいで限界です。判定時間が200回/msecならオブジェクトはたった18個で限界。これはどう考えても節約が無いとゲームになりません。 オブジェクトの全ての位置が決まった時、自分とぶつかる可能性があるのは自分の周りのオブジェクトだけです。遠い所にある物は判定する必要すらありません。そこで「空間をある程度制限してその中

  • ファイル入出力をごっちゃにしないために

    的には下に行くにつれてWindowsプラットフォームへの依存性が高くなります(例外もありますので注意)。以下に簡単な説明を述べておきます。 Cランタイムライブラリは、C言語で扱われていたファイル入出力の方法をサポートしますが、VC++等では表記の方法が少し変わっています。例えばCの関数であるopen関数の使用は推奨されなくなり、変わりに_open関数となっています(open関数でもコンパイルは出来ますがお勧めしません)。Cランタイムライブラリはさらに「低水準入出力関数」と「ストリーム入出力関数」に分かれます。低水準とストリームの違いは入出力に関して「バッファ」を扱うか否かで、ストリームの方がバッファを利用し高速に読み書きができます。バッファを使用せずOSを直接叩くのが低水準の方で、その分使い方が難しくなっています。 Cランタイムライブラリ(セキュリティ強化版)は、従来のランタイムライブ

    yunottinoatama
    yunottinoatama 2014/08/22
    getとgetline
  • 1