<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: уменьшить нагрузку на CPU.]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=17530&amp;type=atom" />
	<updated>2023-01-19T17:01:39Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=17530</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: уменьшить нагрузку на CPU.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=156447#p156447" />
			<content type="html"><![CDATA[<p>Еще можно попробовать искать&nbsp; совпадения через opencv matchtemplate+gpu.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2023-01-19T17:01:39Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=156447#p156447</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: уменьшить нагрузку на CPU.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=156213#p156213" />
			<content type="html"><![CDATA[<p><strong>FRATER1234</strong><br />Проще всего это сделать через таймер. Вы написали, что кулдаун сокращается в зависимости от скорости. Хорошо, всё равно же есть минимально возможный кулдаун, вот его и ставьте в переменную, которая отвечает за время запуска таймера. Сам таймер будет искать вашу картинку. Если картинка найдена, то запускаете таймер заного. Если не найдена, то вместо запуска таймера уже ищите нужную вам картинку, например, каждые 50мс(чаще смысл есть едва ли). Как только найдёте картинку, то, опять же, запускаете таймер. Только не забудьте в метке, на которую ссылается таймер, сразу же его остановить в любом случае.<br />Только не указывайте в ссылке на метку для таймера функции, иначе запустив его 1 раз уже не остановите. Более того, сколько раз запустите данный таймер через ссылку на функцию, столько одновременно одинаковых таймеров работать и будет. Для останавливаемых таймеров только метки!</p>]]></content>
			<author>
				<name><![CDATA[Madmer]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=42664</uri>
			</author>
			<updated>2023-01-07T16:31:52Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=156213#p156213</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: уменьшить нагрузку на CPU.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=156171#p156171" />
			<content type="html"><![CDATA[<p>Если комп слабый и не вывозит - нужно менять настройки в игре на минимальные, проверить комп на майнеры и прочие вирусы. В крайнем случае уже менять проц (и всё для него подходящее: мат. плату, RAM память, блок питания) на современный.</p>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2023-01-02T17:48:26Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=156171#p156171</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: уменьшить нагрузку на CPU.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=156168#p156168" />
			<content type="html"><![CDATA[<p><strong>FRATER1234</strong><br />Берите минимальную задержку, которая возможна.<br />Я вообще не вижу каких-либо проблем использовать проверку всегда, если только у вас не слабый процессор настолько, что не способен выдерживать нагрузку в один пиксель.<br />Установите просто Sleep 10-50 хотя бы, чтобы комп не страдал, заполняя все частоты вашим поиском.</p>]]></content>
			<author>
				<name><![CDATA[Clannad5]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=39853</uri>
			</author>
			<updated>2023-01-02T09:32:25Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=156168#p156168</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: уменьшить нагрузку на CPU.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=156167#p156167" />
			<content type="html"><![CDATA[<p>Ну смотрите. Global Cooldown способностей 1.5 сек. Когда при нажатии кнопки у меня 1.5 сек еще не доступна способность. Я так понимаю можно сделать через sleep это с небольшим интервалом. Но есть еще один нюанс. Если скорость персонажа увеличивается от базовой то за каждый процент скорости которую мы получаем в игре, скоращается время Global Cooldown. И получается так что если у нас 1.5 сек на Global Cooldown то если на 1% увеличивается скорость то это 0.1% скоращает время действия Global Cooldown и мы уже получаем не 1.5 сек и т.д. Я попробовал привязать к 1.5 сек кулдауну sleep вроде бы неплохо. Но как описал что если скорость персонажа растет то мы сокращаем время действия отката способностей и уже тогда sleep работает во вред мне. Так как идет хард привязка к 1.5 сек.</p>]]></content>
			<author>
				<name><![CDATA[FRATER1234]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40806</uri>
			</author>
			<updated>2023-01-02T06:46:18Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=156167#p156167</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: уменьшить нагрузку на CPU.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=156160#p156160" />
			<content type="html"><![CDATA[<p><strong>FRATER1234</strong><br />Только вы знаете как часто можно активировать кнопку, поэтому мы не знаем что подсказать.</p>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2022-12-31T18:44:09Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=156160#p156160</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: уменьшить нагрузку на CPU.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=156148#p156148" />
			<content type="html"><![CDATA[<p><strong>FRATER1234</strong><br />Вы кастанули умение - скрипт среагировал на нажатие клавиши этого умения.<br />Запустился таймер, например 3 секунды.<br />Началась проверка нужного элемента на экране.<br />Нашлось.<br />Повторить всё что выше.</p>]]></content>
			<author>
				<name><![CDATA[Clannad5]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=39853</uri>
			</author>
			<updated>2022-12-30T21:49:34Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=156148#p156148</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: уменьшить нагрузку на CPU.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=156147#p156147" />
			<content type="html"><![CDATA[<p><strong>__Михаил__</strong> <br />Познаний в этом мало. Знать бы еще какая функция. Или образец приблизительный как это могло выглядеть. Звучит сочно, но в реализации с моей стороны пока пусто.</p>]]></content>
			<author>
				<name><![CDATA[FRATER1234]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40806</uri>
			</author>
			<updated>2022-12-30T21:47:19Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=156147#p156147</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: уменьшить нагрузку на CPU.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=156146#p156146" />
			<content type="html"><![CDATA[<p><strong>FRATER1234</strong><br />Что мешает вычислить время на восстановление перка / скила и т.д. для более точного определения времени когда скрипту нужно начинать сканировать пиксель / область окна на наличие нужной картинки? Это позволит отсрочить нагрузку на процессор в то время когда перк / скил ещё не готов. Например запустили свой скрипт, он ждёт допустим 2-3 секунды и лишь затем начнёт проверки и эмуляции нажатия клавиши, после чего снова 2-3 секунды ожиданий.</p>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2022-12-29T15:34:30Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=156146#p156146</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: уменьшить нагрузку на CPU.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=156145#p156145" />
			<content type="html"><![CDATA[<p><strong>Clannad5</strong>Спасибо за подсказку.</p>]]></content>
			<author>
				<name><![CDATA[FRATER1234]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40806</uri>
			</author>
			<updated>2022-12-28T11:57:41Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=156145#p156145</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: уменьшить нагрузку на CPU.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=156144#p156144" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>FRATER1234 пишет:</cite><blockquote><p>Есть ли способ что пока пиксель или картинка не найдется полностью скрипт не будет искать, и только при полном соответствии он будет срабатывать.</p></blockquote></div><p>Поиск изображения или пикселя работает тогда, когда ваш скрипт сталкивается с подобными командами как ImageSearch, в других случаях он не сможет понять, что у вас находится на экране.</p><p>Однако вы можете производить частичное сканирование определенной области и когда эта область будет найдена, уже производить поиск в &quot;полной&quot; области, где нужно тратить больше ресурсов на сканирование.</p><p>Например:<br />Вам необходимо найти в инвентаре зельку.<br />У вас есть инвентарь, который открывается на клавишу E.<br />Вы можете сделать как минимум два варианта:<br />1. Вы начинаете сканировать каждый раз, в течение N-времени после нажатия Е.<br />2. Вы начинаете сканировать весь инвентарь целиком только тогда, когда ваш скрипт нашел хотя бы маленький кусочек того, что может появиться только в инвентаре и если этот кусочек инвентаря найден, то сканируется весь инвентарь на наличие зелий.</p><p>Не нужно каждый раз сканировать весь экран, т.к это слишком затратно, всегда можно сканировать часть того, что может заставить скрипт отсканировать область побольше.</p>]]></content>
			<author>
				<name><![CDATA[Clannad5]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=39853</uri>
			</author>
			<updated>2022-12-28T02:33:15Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=156144#p156144</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: уменьшить нагрузку на CPU.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=156143#p156143" />
			<content type="html"><![CDATA[<p>Я немного попробовал сделать вот так вот <br /></p><div class="codebox"><pre><code>vk45::
Loop
{
GetKeyState, state, vk45
if state = U
break

PixelGetColor, color, 575, 657, 636, 719, RGB
If (color = 0xE97FFF)
{
Send, {1 down}
sleep 10
Send, {1 up}
}

}
Return

End::
  ExitApp
Return</code></pre></div><p>Но не сработал. Есть вероятность того что ошибся в координатах. Но я делаю поиск координат через Pulover&#039;s Macro Creator выделяю область.<br />P.S сорян нашел ошибку в координатах просто указав X Y без области. Теперь работает.</p>]]></content>
			<author>
				<name><![CDATA[FRATER1234]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40806</uri>
			</author>
			<updated>2022-12-27T17:41:45Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=156143#p156143</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: уменьшить нагрузку на CPU.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=156141#p156141" />
			<content type="html"><![CDATA[<p>А как по вашему скрипт узнаёт, что есть совпадения или нет?</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2022-12-27T10:56:12Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=156141#p156141</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: уменьшить нагрузку на CPU.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=156140#p156140" />
			<content type="html"><![CDATA[<p>Прошу конечно прощение за мои тупые формулировки <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> В идеале конечно хочется добиться чтоб скрипт срабатывал 1 нажатие когда срабатывает ImageSearch. Чтоб при зажатой клавише скрипт не выполнял функцию ImageSearch когда нет совпадений, а только тогда когда есть совпадение. Я попробовал поиграться с функцией sleep, но результаты разные выходили. Так как скорость появление новых иконок в игре меняется в зависимости от моего фпс пк. Если фпс у меня в районе 100+ sleep срабатывает как часы. Но стоит фпс опуститься до 30 или ниже. То Sleep уже не так эффективно работает на тех же цифрах которые я выставил он либо может не сработать с задержкой, либо сработает моментально. Я просто не могу найти решение. Пока что я вот так вот сделал:<br /></p><div class="codebox"><pre><code>vk45::
Loop
{
GetKeyState, state, vk45
if state = U
break

CoordMode, Pixel, Window
PixelSearch, FoundX, FoundY, 499, 161, 572, 236, 0x7DA0D0, 0, Fast RGB
If (ErrorLevel = 0)
{
	Send, {1}
	sleep 150
}

}
Return

End::
  ExitApp
Return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[FRATER1234]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40806</uri>
			</author>
			<updated>2022-12-27T10:46:03Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=156140#p156140</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: уменьшить нагрузку на CPU.]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=156139#p156139" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>FRATER1234 пишет:</cite><blockquote><p> хотелось бы просто чтоб при зажатой клавии, пока нету картинки или пикселя для поиска, скрипт спал, и срабатывал только тогда когда был найден пиксель или картинка</p></blockquote></div><p>А кто тогда искать будет картинку?<br />Если вы сами то, тогда, конечно, возможно. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2022-12-27T10:12:48Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=156139#p156139</id>
		</entry>
</feed>
