ページ 11

時間のことについて

Posted: 2011年2月01日(火) 21:53
by まさかりたろう
こんばんは。

質問があるのですが、 現在ゲームプログラミングの館の『 8. 時間を取得する。 』をやっているのですが、
なぜ GetNowCount() - time を実行すると、a++の処理時間が測れるのですか?

一度理解しかけたのですが、考えすぎてまたわからなくなってしまいました。


どうかご教授お願いいたします。

Re: 時間のことについて

Posted: 2011年2月01日(火) 22:18
by ひよこ
最初の時間をtime1として測った後の時間をtime2とします。
簡単な例ではストップウォッチでtime1を0秒として50M走などを走った結果8秒とかをtime2とします。
これでtime2-time1は走り切るのにかかった時間(経過した時間)となります。

プログラムの方は
GetNowCount();でまず基準となる時間(time)を決めます。
ある処理をした時間で、その後に時間を測る(GetNowCount()-time)ことである処理にかかった時間を出すことができます。

これでわかりますかね?

Re: 時間のことについて

Posted: 2011年2月01日(火) 22:18
by bitter_fox
02.png
02.png (6.44 KiB) 閲覧数: 1658 回
このような横軸が時間のグラフを書いてみました。
黄色い所が

コード:

        for(i=0;i<100000;i++)                   //10万回a++;を実行
            a++;
の処理をしている間に当たります。

でA点はtime = GetNowCount()に当たり、
B点がインクリメント処理後のGetNowCount()に当たります。

黄色い区間の値をを出すにはB点-A点なので、
GetNowCount() - timeになります。

Re: 時間のことについて

Posted: 2011年2月01日(火) 22:27
by まさかりたろう
>>ひよこ様
>> bitter_fox様
ご教授ありがとうございます!

最初のGetNowCountはプログラムを実行した時点での時間で、それからaを処理した後の時間を引くということですね!!
すごくわかりやすかったです!!

ありがとうございました!