自動化ツールUWSC使いよ集まれ28at SOFTWARE
自動化ツールUWSC使いよ集まれ28 - 暇つぶし2ch246:名無しさん@お腹いっぱい。
23/11/19 12:15:10.99 2zl6SU1u0.net
高分解能タイマーを使えば普通のタイマーより高い精度で取得できるけど
マルチタスクOSである以上割り込みが発生するから正確な数値は取得できないよ
CPUのクロックで割り込み周期も変わってくるし

247:名無しさん@お腹いっぱい。
23/11/19 14:26:06.89 jgzFHzxJ0.net
ダメだったらごめんだけど、プロセス優先度を指定して起動してみたら少しはマシかも
URLリンク(cpoint-lab.co.jp)

248:名無しさん@お腹いっぱい。
23/11/19 15:47:45.20 KGa/fcU80.net
>>243
PRINTも時間食うでしょ

前後でPRINTせずに変数に入れて後からPRINTするくらいしよう

249:名無しさん@お腹いっぱい。
23/11/19 16:05:52.09 .net
もし指定間隔毎のループ処理をしたいとかなら時刻と比較して判断した方がいいのでは?

250:名無しさん@お腹いっぱい。
23/11/19 16:47:50.40 P/V9vLLC0.net
デバッグでprint噛ますと激遅ッ
アレって変なウエイト入ってんじゃね?
ログ保存があるからかも知れんけど

251:名無しさん@お腹いっぱい。
23/11/19 18:31:29.53 tQ54IAV+0.net
何度か試しましたが、変数に入れても0.10~0.15秒ほどの誤差はありました
時刻と比較するようにしたら誤差が0.001~0.015秒ほどになりました

A = GETTIME() + (G_TIME_ZZ / 1000)
SLEEP(3.3)
B = GETTIME() + (G_TIME_ZZ / 1000)
C = GETTIME() + (G_TIME_ZZ / 1000)
wait(3.3)
D = GETTIME() + (G_TIME_ZZ / 1000)
print B - A
print D - C

msgbox("stop")
PROCEDURE wait(x)
dim Time = GETTIME() + (G_TIME_ZZ / 1000)
while True
IFB ((GETTIME() + (G_TIME_ZZ / 1000)) - Time) >= x;exit;ENDIF
wend
FEND

252:名無しさん@お腹いっぱい。
23/11/19 18:53:52.86 KGa/fcU80.net
>>249
根本的に細かい分解能の時間制御する用途には向いてないと思うよ。所詮はインタプリタだし
そのwait関数の間CPU回るから、それを許容できるかどうかですね

253:名無しさん@お腹いっぱい。
23/11/19 21:06:37.02 jgzFHzxJ0.net
他の処理が重いときにマクロを実行させるとマウス動作のエミュレーションとかも遅くなるから
プロセス優先度が低くて処理が後回しされてるのではないかなあ。

254:名無しさん@お腹いっぱい。
23/11/19 21:24:28.40 tQ54IAV+0.net
UWSCの優先度を高くしても誤差は変わらず、起動してるscriptの優先度は変更できないから何とも…

255:名無しさん@お腹いっぱい。
23/11/19 23:16:24.93 KGa/fcU80.net
>>252
自分自身で自分の優先度高くは出来るよ。ただ、お前が期待するような精度が見込めるかは分からない

256:名無しさん@お腹いっぱい。
23/11/19 23:23:41.24 8tiPdCQe0.net
なぜこれでそこまでの精度を求めようとするのか

257:名無しさん@お腹いっぱい。
23/11/20 00:14:25.87 RprnYc780.net
色んな活用を考えてるんだろうけど、そのツールの向かないことにパワーを使いすぎるのも良くないね

258:名無しさん@お腹いっぱい。
23/11/20 00:29:29.29 k7k62YnK0.net
向いてないツールを無理やり使えるようにするパワーと、向いてるツールの使い方を一から覚えるパワー
の差し引きだからな
こればかりは組み合わせ次第と言うしかない

259:名無しさん@お腹いっぱい。
23/11/20 03:55:59.40 FcvdVFzd0.net
URLリンク(detail.chiebukuro.yahoo.co.jp)
この辺を参考にすればいけるやろ

260:名無しさん@お腹いっぱい。
23/11/20 07:34:20.47 0c+ojsJr0.net
C++とかで作るネイティブアプリだったらメッセージキューを介さないマルチメディアタイマーを使って作れで終わりだと思うけど
UWSCだと難しいね。

261:名無しさん@お腹いっぱい。
23/11/20 09:51:01.47 puHPorQH0.net
慣れたツールで手軽にサクッと作りたい気持ちはわかる

262:名無しさん@お腹いっぱい。
23/11/20 10:14:30.15 9RZUipZy0.net
>>254
知り合いの為に作ってるものがあって、動作テストして貰ったら自分が使ってるPCより性能が良すぎてタイミングがズレすぎてるので…

>>257
Sleep(0.1)は「最低100msは待ちます」程度の意味で、キッカリ100ms待ってから帰ってきてくれたりはしない、ということです。
は参考になった

263:名無しさん@お腹いっぱい。
23/11/20 13:17:10.48 MVVwP9h50.net
音ゲーとか組んでるとPCごとの誤差は感じる
自分は最初、PCごとにウエイト値を設定してやってたけどPCやエミュの調子で変わってくるから
今はエミュ内で起動時に反応テストやって修正してるわ

264:名無しさん@お腹いっぱい。
23/11/20 13:36:50.44 0c+ojsJr0.net
DOSのころはBIOSコールのINT1Aだったかなあ、タイミングを取るためのBIOSエントリがあって
PC/XTの頃のゲームはそれを使ってないのでクロックの高いPCに持っていくとピュンピュンと動いてあっというまにゲームオーバーになったりしてった。

265:名無しさん@お腹いっぱい。
23/11/22 19:27:04.83 Cddf5YL40.net
>>240
参考になるわ

266:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch