この記事を書き上げて公開する前に、1フローの実行時間を設定するメニューがあることが判明。無意味な記事となりました。Power Automateで釣りができるまでずいぶんチューニングしたのですが意味なかったです。でも、結構時間かけて書きましたのでいちを残しておきます。
-------------------------------------------
みなさん、Power Automate Desktop使ってますか?先日PADで「Ultimate Fishing Simulator」のRPAをやってみましたが、PADでゲームのRPAをする場合に気を付けたいことをまとめておきたいと思います。端的にはデバッグモード向けの高速化手法です。なんでデバッグモードなの?って話ですが「映え」です。このサイバー感のあるデバッグモードを使わない手はないです。そもそもなんですが、ゲームを遊ぶためではなく自動化の実験をするために買ってますので。。。えっ?
全ての命令の実行に時間がかかる
当たり前と言えば当たり前ですが、デバッグモードの場合は気になるレベルで時間がかかります。リアルタイムに何かをするフローのデバッグには使えないレベルですが、でも使います。どのぐらいかかるかというとループや判定でも1行につき0.1秒程度かかるようです。いくつかパターンを変えて測定してみたところ、0.12秒~0.14秒/命令となりました。マシンスペックは関係なく、このぐらいのスピードで実行されるよう調整されていると考えています。PADにはオプション等見当たりませんが、レジストリ変更でもいいので調整できるといいんですけどね。
例として以下を見てください。このループ処理に何秒かかると思いますか?100秒ちょいであってほしいですが136秒かかります。3行の命令がありそれぞれ100回実行されるため、300行処理されますが、その300行の処理に36秒かかるということです。
ポイントとしては、こだわる場所のループ回数は減らす、判定は真となる場合多くなるようにする、となります。
サブフローは使いどころに注意
もう一度登場します基本形、この処理には136秒かかりました。
時間調整は「Wait」ではなく「キーの送信」
遅延カテゴリにあるWaitは、秒単位でしか待ち時間を指定できません。ですが、1/10秒単位ぐらいで待ち合わせを挟みたいことってありますよね。そんなときはマウスとキーボードカテゴリにある、キーの送信を使います。パラメタに「キー入力の間隔の遅延」と分かりにくい説明ですが、1文字(1キー)入力後の待ち時間をミリ秒単位で指定できるようになっており、Waitよりも細かく調整できます。1文字入力するたびに指定した時間待ち合わせをしますので、n文字入力する場合は指定した遅延時間がn倍になります。「間隔」とありますが1文字の場合でも有効です。ゲームの実行に影響のない特殊キーを選ぶと良いと思います。
0 件のコメント:
コメントを投稿