[過去ログ]
AutoHotkey スレッド part28 (1002レス)
AutoHotkey スレッド part28 http://egg.5ch.net/test/read.cgi/software/1585906506/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
553: 名無しさん@お腹いっぱい。 (ワッチョイ 72ba-t1Nk) [sage] 2020/11/06(金) 00:51:44 ID:IZlN468w0 >>552 試したけどスクリプト自体は何も問題なく動いてる AHKのウィンドウを出さなくてもX軸やY軸やボタンも取得してツールチップに表示されてる Chromeやメモ帳などアクティブ時でも問題なし JTKも常駐させてるけど併用して問題ない となると貴方の環境で何か別のスクリプトや他の常駐ソフトなどが邪魔してるんじゃない? ちなみにスクリプトを管理者権限で実行してもダメ? http://egg.5ch.net/test/read.cgi/software/1585906506/553
554: 名無しさん@お腹いっぱい。 (ワッチョイW 6558-RVv3) [sage] 2020/11/06(金) 01:58:35 ID:03VprpHh0 新しいPCと古いPCの環境の違いを書き出してみるといいよ 多分OSのビルドやahkのバージョンあたりに細かい差異があるんでないの 知らんけど http://egg.5ch.net/test/read.cgi/software/1585906506/554
555: 名無しさん@お腹いっぱい。 (ワッチョイ 6176-9BKS) [] 2020/11/06(金) 04:26:02 ID:Cd90Lss80 >>546 >>547 例えばAutoHotkey.exeをリネームしたa.exeとb.exeを用意します。 それぞれa.ahkとb.ahkを実行します。 どちらのスクリプトにもループ処理が入っています。 これらのループ処理を両方実行した場合、片方のみ実行するより動作が鈍くなります。 つまり実行ファイルを分けても、それぞれが割り込みあっているのだろうと思います。 これを、完全に別物として実行させたいわけです。 http://egg.5ch.net/test/read.cgi/software/1585906506/555
556: 名無しさん@お腹いっぱい。 (ワッチョイ 3192-K92V) [sage] 2020/11/06(金) 08:28:24 ID:RAq9Icdy0 >>555 動作コアを分ける でググってみたらどうだろ? http://egg.5ch.net/test/read.cgi/software/1585906506/556
557: 名無しさん@お腹いっぱい。 (ワッチョイW 6558-RVv3) [sage] 2020/11/06(金) 14:28:42 ID:03VprpHh0 スレッドとプロセスがごっちゃになってるぽい? https://image.itmedia.co.jp/ait/articles/0503/12/dt-mthread01_02.gif >555 exe(プロセス)を分けて動作が遅くなるっていうのは 色んなアプリを一度に立ち上げて動かしてたら1窓単体起動のときより重くなりましたつってるのと同じでは? >556の言うように手動で任意のCPU割り当てる方法もあるけど プロセス別のコア割り当ては基本OS側の仕事だと思う 同一プロセス内でのマルチスレッドについては AHKは擬似マルチスレッドなのでマルチコア対応はしてないと思う http://egg.5ch.net/test/read.cgi/software/1585906506/557
558: 名無しさん@お腹いっぱい。 (ワッチョイ 6558-t1Nk) [sage] 2020/11/06(金) 16:31:41 ID:pYlpzeSL0 >>555 どんなループ処理してんだ 1秒に何百回みたいなループさせてんのか? http://egg.5ch.net/test/read.cgi/software/1585906506/558
559: 名無しさん@お腹いっぱい。 (ワッチョイ 6176-9BKS) [] 2020/11/06(金) 21:48:27 ID:Cd90Lss80 >>556 検証用のスクリプトは用意していないので、わかりにくいかもしれませんが現状を話します。 何が関係しているかわかりませんから、念の為詳細に書きます。 AutoHotkey.exeでAutoHotkey.ahkを常駐させています。AutoHotkey.ahkにIncludeしているスクリプトがいくつかあり、 そのうち1つがキーボードでマウス操作をする、mouse.ahkです。 あるトリガーキーを押してから、再度そのキーを押すまで、キーの入力をwhile、if、GetKeyStateでループ、監視し続けます。 そこでカーソル移動用のキーを押すと、MouseMoveを発動します。発動間隔は監視間隔なので、20ミリ秒程度の設定になっています。 これとは別に、MouseGestureL.exe(AutoHotkey.exeを改名した別ファイル)も常駐させています。 そこで問題なのが、MouseGestureL.exeを終了させると、AutoHotkey.exe下のmouse.ahkによるマウスカーソルの移動速度が上がります。 このことから、AutoHotkey.exeとMouseGestureL.exeで別プロセス?として実行していたはずのスクリプトですが、相互にスレッドを奪い合って?いるのではないかと思いました。 MouseGestureL.ahkの仕様はわかりませんが、ループ処理がなされているのだろうと推測しました。 ともかく、実行ファイルもスクリプトファイルも分けて、独立したはずのアプリケーション同士が干渉しあっているので、 疑似マルチスレッド動作になっているのではないかと思いました。 以上です。 これを互いに完全に独立した動作にする方法がないかと思い、質問しました。 関係するかわかりませんが、CPUはi7-8700Kです。 http://egg.5ch.net/test/read.cgi/software/1585906506/559
560: 名無しさん@お腹いっぱい。 (ワッチョイ 6176-9BKS) [] 2020/11/06(金) 21:48:50 ID:Cd90Lss80 >>557 >>558 http://egg.5ch.net/test/read.cgi/software/1585906506/560
561: 名無しさん@お腹いっぱい。 (ワッチョイ 6558-t1Nk) [sage] 2020/11/06(金) 22:02:37 ID:pYlpzeSL0 そもそもAutoHotkey.exeを改名とかやってることが特殊過ぎてな 意味あんのかそれって感じだし まだコンパイルしてスクリプト自体を別exeにした方がいいんじゃねえの http://egg.5ch.net/test/read.cgi/software/1585906506/561
562: 名無しさん@お腹いっぱい。 (ワッチョイ d25a-t1Nk) [] 2020/11/06(金) 22:14:53 ID:94t2tBdQ0 >>559 >そこで問題なのが、MouseGestureL.exeを終了させると、AutoHotkey.exe下のmouse.ahkによるマウスカーソルの移動速度が上がります。 MouseGestureL.exeも基本常駐じゃないの?終了即再起動することはあるけど終了したままにするケースがよく分からない ま、何にしてもMouseGestureLが終了したらmouse.ahkの挙動が変わるのが嫌ということなら MouseGestureLの方にmouse.ahkをIncludeさせればいいのでは? それならMouseGestureL起動中しかmouse.ahkも動作しないわけだから http://egg.5ch.net/test/read.cgi/software/1585906506/562
563: 名無しさん@お腹いっぱい。 (ワッチョイ a9b1-xP1L) [sage] 2020/11/06(金) 22:57:45 ID:zxpauMpi0 >>559 自分もMGL使ってるけど同じahkスクリプトで常駐させたいものはMGLのプラグインにして 監視するのには「while」などのループじゃなく「settimer」使ってるな プラグインにするのは別に薦めないけど、試しに「while」の代わりに「settimer」で監視してみては? http://egg.5ch.net/test/read.cgi/software/1585906506/563
564: 名無しさん@お腹いっぱい。 (ワッチョイW 6558-RVv3) [sage] 2020/11/07(土) 01:04:37 ID:lXeAUpve0 マルチスレッド云々以前の問題な気が まず、マウスの挙動を制御するプロセスス2つ同時に動かすことで干渉しあってる可能性は? コントロールの奪い合いになってたりしない? あとmouse.ahkの回し方に問題あると思う 20msの高頻度でMousemoveし続けて必ず時間どうりに動かすのがまず無理だし ループ監視するよりHotkey、#if あたりで2ストロークイベントにしたほうがスムースに動くんではないか http://egg.5ch.net/test/read.cgi/software/1585906506/564
565: 名無しさん@お腹いっぱい。 (スフッ Sdb2-RPT/) [sage] 2020/11/07(土) 19:11:05 ID:/fD/cqh1d https://i.imgur.com/H58BDRl.jpg http://egg.5ch.net/test/read.cgi/software/1585906506/565
566: 名無しさん@お腹いっぱい。 (ワッチョイ b197-NW7M) [] 2020/11/10(火) 16:23:55 ID:7m/sr7zP0 ループ間のディレイをなくす設定ってありますか? Reloadで中断できるようにDllCallのSleepを小分けにしてループさせてたんですが WindowsとAHKのアプデ後からループ10回で0.1秒ぐらいのディレイが入るようになりました 現状はこの設定です #NoEnv ListLines Off Process, Priority, , H SetBatchLines, -1 SetKeyDelay, -1, -1 SetMouseDelay, -1 SetDefaultMouseSpeed, 0 SetWinDelay, -1 SetControlDelay, -1 SendMode Input http://egg.5ch.net/test/read.cgi/software/1585906506/566
567: 名無しさん@お腹いっぱい。 (ワッチョイ 550a-l9zQ) [sage] 2020/11/10(火) 20:20:11 ID:iUPLlj4e0 >>566 実際のスクリプトを見ないと誰も答えられない 検証用に最小限まで削ってから貼ってください http://egg.5ch.net/test/read.cgi/software/1585906506/567
568: 名無しさん@お腹いっぱい。 (ワッチョイW 6558-RVv3) [sage] 2020/11/10(火) 21:17:47 ID:Opml9bS20 winみたいなマルチタスクOSではアプリ層で割り込み禁止にできないし AHK側の設定をどう変えてもノーディレイにはならない けどsleepの精度を上げる方法はある模様 http://www.charatsoft.com/develop/otogema/page/02window/sleep.html AHKで適用できるのか、できてもインタプリタなスプリクトでどこまで シビアに時間制御ができるのかは知らんけど http://egg.5ch.net/test/read.cgi/software/1585906506/568
569: 名無しさん@お腹いっぱい。 (ワッチョイ b197-NW7M) [] 2020/11/10(火) 21:18:03 ID:7m/sr7zP0 >>567 上記の設定の後に Sleep(Loops) { Loop, %Loops% DllCall("Sleep", "UInt", 50) } Shift:: Send, {Lbutton} Sleep(20) Send, {Lbutton} Return https://stopwatch.onl.jp 検証サイトはここです Loop使わず直接1000ms指定だとディレイなし、Loopありだと+100~200ms,設定全削除だと+300~400msに増えました http://egg.5ch.net/test/read.cgi/software/1585906506/569
570: 名無しさん@お腹いっぱい。 (ワッチョイW 6558-RVv3) [sage] 2020/11/10(火) 21:55:37 ID:Opml9bS20 A_TickCount を使おう ループの中に組み込んで所定時間が過ぎてたらbreakするように組めば sleepでの時間誤差は考慮しなくて良くなる http://egg.5ch.net/test/read.cgi/software/1585906506/570
571: 名無しさん@お腹いっぱい。 (ワッチョイ 0d0a-6m0w) [sage] 2020/11/11(水) 00:33:28 ID:V+LIbDi40 >>569 ↑のスクリプトで検証、ループであってもほぼ一致(+20〜30ms)ブラウザ経由の誤差だけ 他の負荷がかかってるのかも?タスクマネージャーで確認 念のため以下のスクリプトで検証してみてください。 通常は1ms程度の誤差しか出ないはずです。 https://pastebin.com/Rs3N47rb http://egg.5ch.net/test/read.cgi/software/1585906506/571
572: 名無しさん@お腹いっぱい。 (ワッチョイ 1597-D0pj) [] 2020/11/13(金) 21:38:30 ID:p37fZhSk0 >>571 セーフモードでの検証で https://pastebin.com/JeZ4Y5kQ AHK再インストール後でも同じでした http://egg.5ch.net/test/read.cgi/software/1585906506/572
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 430 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.009s