<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK : Оптимизация и ускорение работы скрипта]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=15101</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=15101&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK : Оптимизация и ускорение работы скрипта».]]></description>
		<lastBuildDate>Tue, 28 Dec 2021 16:55:08 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK : Оптимизация и ускорение работы скрипта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=151431#p151431</link>
			<description><![CDATA[<p><strong>stealzy</strong><br />Для сценариев Autohotkey (.ahk) значение по умулчанию SetBatchLines, 20ms (за исключением версий до v1.0.16, которые использовали значение 10 строк).<br />Значение в миллисекундах рекомендуется для скриптов, в которых имеет значение высокая скорость выполнения.<br />Например, на большенстве систем значение 10ms предотвращает нагрузку на процессор выше 50%, что позволяет выполнять скрипт быстро, сохраняя быстродействие других программ (например игр, программ видео захвата и т.д.).</p>]]></description>
			<author><![CDATA[null@example.com (nugmaneg)]]></author>
			<pubDate>Tue, 28 Dec 2021 16:55:08 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=151431#p151431</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK : Оптимизация и ускорение работы скрипта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=136981#p136981</link>
			<description><![CDATA[<p><strong>Dozilius</strong>, выложенный вами код исполняется мгновенно, и вы можете проверить самостоятельно если подумаете. Время занимает код, который вы не выложили. Конкретный участок находится тривиально: записывается время до и время после, для точности можно усреднить результат за сотню итераций.</p>]]></description>
			<author><![CDATA[null@example.com (stealzy)]]></author>
			<pubDate>Mon, 23 Dec 2019 10:53:31 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=136981#p136981</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK : Оптимизация и ускорение работы скрипта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=136956#p136956</link>
			<description><![CDATA[<p><strong>ypppu</strong><br />Вряд-ли поможет, всё таки там не нажатия клавиш конкретно как в Send и т.д, а запись в память процесса напрямую, мол &quot;Клавиша нажата&quot;.</p>]]></description>
			<author><![CDATA[null@example.com (Dozilius)]]></author>
			<pubDate>Sun, 22 Dec 2019 15:59:50 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=136956#p136956</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK : Оптимизация и ускорение работы скрипта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=136955#p136955</link>
			<description><![CDATA[<p><em>SetKeyDelay</em> вроде ещё можно.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Sun, 22 Dec 2019 15:39:57 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=136955#p136955</guid>
		</item>
		<item>
			<title><![CDATA[AHK : Оптимизация и ускорение работы скрипта]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=136954#p136954</link>
			<description><![CDATA[<p>Приветствую. У меня есть скрипт, который выполняет нажатия клавиш через функции. Вот кусок скрипта:<br /></p><div class="codebox"><pre><code>$Numpad1::
Dash()
return

Dash()
{
	Global Side
		If (Side = 0){
			WriteMemory(32768, 0x6A34ED4C)
			WriteMemory(0, 0x6A34ED4C)
			WriteMemory(32768, 0x6A34ED4C)
			return WriteMemory(0, 0x6A34ED4C)
		}else{
			WriteMemory(32768, 0x6A34ED4A)
			WriteMemory(0, 0x6A34ED4A)
			WriteMemory(32768, 0x6A34ED4A)
			return WriteMemory(0, 0x6A34ED4A)
	}
}
</code></pre></div><p>Уже были выполнены некоторые действия по оптимизации скрипта:<br /></p><div class="codebox"><pre><code>#NoEnv
#MaxHotkeysPerInterval 99000000
#HotkeyInterval 99000000
#KeyHistory 0
ListLines Off
Process, Priority, , R
SetBatchLines, -1
SetWinDelay, -1
SetControlDelay, -1</code></pre></div><p>Но как показывает быстродействие скрипта - этого мало.<br />Даже если вызвать нажатие клавишей подряд - они будут нажиматься с задержкой в ~20ms.<br />Хочу узнать, как можно ускорить работу скрипта, так-как при его выполнении мне нужна максимальная скорость.<br />Хоть я и вообще почти не разбираюсь в AHK, есть подозрения что это из-за функций, которые постоянно вызываются.<br />Но проблема в том, что они нужны для удобства, потому-что писать сразу &quot;WriteMemory(Value, Address)&quot; для большого кода - проблемно. Одна ошибка в нажатии где-то в середине - ищи нужную строку с клавишей, среди 80 других.<br />Заранее спасибо!<br />P.s - Использую запись в память для нажатий клавиш, что-бы обойти защиту игры, которая не даёт нажимать быстрее ~30-35ms.</p>]]></description>
			<author><![CDATA[null@example.com (Dozilius)]]></author>
			<pubDate>Sun, 22 Dec 2019 14:51:44 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=136954#p136954</guid>
		</item>
	</channel>
</rss>
