SRC質問掲示板Mk2
(現在 過去ログ130 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■22483 / inTopicNo.1)  waitの限界
  
□投稿者/ SIF -(2011/10/17(Mon) 20:10:26) [ID:mIsdS58l]
    こんばんは、SIFです。

    タイトルの通りなのですが、
    waitの限界というのはどの当たりなのでしょうか?

    ちょっと前に組んでいたミニゲーム的なインクルで、"for"内で
    "wait 0.02"とかやっているのを見つけまして、ふと疑問に思い、
    皆様にお聞きしたく、書き込ませていただきました。
    当方、pemtium4 3.0GHz、メモリ1GBの環境下では、
    wait 0.1、0.05、0.02とその変化を十分に感じ取れます。

    「このくらいでやったことがある。」といった程度で十分ですので、
    もしよろしければ教えていただけないでしょうか。
引用返信/返信 削除キー/
■22485 / inTopicNo.2)  Re[1]: waitの限界
□投稿者/ RST -(2011/10/19(Wed) 18:56:07) [ID:3OCqustr]
    RSTです。

    「Waitの限界」というのが、Waitコマンドにどれくらい小さい数値まで指定できるのかということならば、
    SRCヘルプにもあるとおり

    Wait 0

    の指定でも動作するので "0" が限界ということになると思いますが、
    (ちなみに、マイナスの数値を指定してみた場合はSRCがフリーズしてしまいました)

    「待ち」は最低でコンマ何秒まで実行してくれるのかというのは私も分からなかったので、
    下のような処理を作ってみました。

    #--------------------------------

    Set 待ち時間 0.02
    Confirm 待ち処理開始
    For i = 1 to 5000
    Wait 待ち時間
    Next
    Confirm 待ち処理終了

    #--------------------------------

    それで、「待ち時間」に 0.02, 0.01, 0.005, 0.002, 0.001, 0 の6パターンを代入して
    「待ち処理開始」のダイアログでクリックしてから「待ち処理終了」のダイアログが表示されるまでの時間を
    (時計の秒針を見ながら)計ってみたところ、

    0.02  => 約 10 秒
    0.01  => 約 5 秒
    0.005 => 約 5 秒 (0.01の場合と違いが感じられず)
    0.002 => ほぼ一瞬
    0.001 => ほぼ一瞬
    0   => ほぼ一瞬

    という結果になりました。

    SRCのソースファイルやVBの動作についてもちょっと調べてみたところ、
    どうも、WaitコマンドというのはSRCの内部では「ミリ秒(1/1000秒)単位で処理をストップさせる」という処理を利用しているようなので、
    1/1000秒にあたる "Wait 0.01" までは正常に動作するけれど、それより小さい指定になると、
    処理が正しく行われなくなる(小数点の3桁目で四捨五入される?)のではないでしょうか。

    ということで、「待ち」処理を行うという意味での限界は "Wait 0.01" になるかと思います。

    VBに関してはほとんど分からないので間違っている部分もあるかもしれませんが、
    この書き込みで参考になれば幸いです。

引用返信/返信 削除キー/
■22486 / inTopicNo.3)  Re[2]: waitの限界
□投稿者/ SIF -(2011/10/22(Sat) 17:04:46) [ID:mIsdS58l]
    RSTさん、いつもありがとうございます。
    返事が遅くなりまして申し訳ありません。

    正直なところ、「直感的にこのくらいで使ってるよー」的な反応を
    予想していたものですから、まさかこんなに丁寧に、
    実験までしていただけるとは思いもしませんでした。

    なるほど、1000分の1秒ですか。
    実際には体感できる時間とPCの計算、描写速度に
    依存するといった限界があるのでしょうが、
    まずは"wait 0.01"までは処理できることがわかり
    ホッとしています。

    改めて、ありがとうございました。
引用返信/返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Pass/

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

- Child Tree -
- Antispam Version -