<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: медленная работа PixelSearch]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=11502</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=11502&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: медленная работа PixelSearch».]]></description>
		<lastBuildDate>Fri, 25 Jun 2021 01:47:48 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: медленная работа PixelSearch]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=148592#p148592</link>
			<description><![CDATA[<p>Воспользовался подсказкой из <a href="https://forum.script-coding.com/viewtopic.php?pid=136954#p136954">соседней темы</a>:<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>Получил время выполнения 62 - 78 чаще всего - 94 мс. Супер! Правда, напоминаю сам себе мартышку, которую посадили набирать &quot;Войну и мир&quot;... Зато работает!<br /></p><div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Не вижу в вашем коде CoordMode. По умолчанию координаты отсчитываются от активного окна, а не от экрана.</p></blockquote></div><p>Ага. В этом есть смысл, но к этому вопросу я вернусь позже, когда (если) всё будет работать как надо. Снимать координаты - простая, но нудная работа.<br />...<br />Да блин! опять 1-4 секунды тот же самый кусок кода!<br />...<br />Всё упирается в PixelSearch. Один вызов этой функции, без петель и переменных, на такой же полоске, занимает 860 мс.<br />Гуглю - все жалуются на низкую скорость. И понятно, PixelSearch работает со скриншотами...<br />(как я тогда получил 78 мс?)<br />Чем его можно заменить?</p>]]></description>
			<author><![CDATA[null@example.com (isxodnik)]]></author>
			<pubDate>Fri, 25 Jun 2021 01:47:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=148592#p148592</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: медленная работа PixelSearch]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=148591#p148591</link>
			<description><![CDATA[<p>В выложенном коде нет ничего, что могло бы оправдать 4100 - 4700 мс. Возможно что-то приостанавливает выполнение данного цикла, что именно, можно только гадать. Не вижу в вашем коде <a href="https://www.autohotkey.com/docs/commands/CoordMode.htm">CoordMode</a>. По умолчанию координаты отсчитываются от активного окна, а не от экрана.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 25 Jun 2021 00:19:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=148591#p148591</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: медленная работа PixelSearch]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=148590#p148590</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>В коде не заданы координаты поиска.</p></blockquote></div><p>Там длинная портянка переменных, не хотел захламлять:<br /></p><div class="codebox"><pre><code>
e::
;объявляем переменные для PixelSearch, ищем 0x000000:

;по оси X
;первый фрейм (player)
x_Search_5_1 := 2278	;начало поиска
x_Search_5_2 := 2329	;конец поиска
HP_5 :=						;результат ( = PixelSearch - (x_Search_5_1 - 1))

;второй фрейм (party1)
x_Search_1_1 := 2337	;начало
x_Search_1_2 := 2388	;конец
HP_1 :=						;результат

;третий фрейм (party2)
x_Search_2_1 := 2395
x_Search_2_2 := 2446
HP_2 :=

;четвёртый фрейм (party3)
x_Search_3_1 := 2454
x_Search_3_2 := 2505
HP_3 :=

;пятый фрейм (party4)
x_Search_4_1 := 2512
x_Search_4_2 := 2564
HP_4 :=

;по оси Y, общее для всех
y_Search := 1329

{
Start := A_TickCount

HP_1 := HP_2 := HP_3 := HP_4 := HP_5 := &quot;&quot;	;очистка переменных

Loop, 5
	{
;ищет чёрный пиксель в пяти горизонтальных полосках размером 1*51 пиксель
	PixelSearch, x, y, x_Search_%A_Index%_1, y_Search, x_Search_%A_Index%_2, y_Search, 0x000000
;и вычисляет длину этой полоски до чёрного пикселя
	HP_%A_Index% = % x - x_Search_%A_Index%_1
	}

TimeMSC := % A_TickCount - Start

MsgBox, %HP_1% %HP_2% %HP_3% %HP_4% %HP_5%, Время выполнения этой части кода: %TimeMSC% миллисекунд.
return
}
q::reload
</code></pre></div><div class="quotebox"><cite>Foma пишет:</cite><blockquote><p>Добавил нужное в код.</p></blockquote></div><p>Спасибо! Результаты странные - от 109-125 до 4100 - 4700 мс... То есть может, но не всегда хочет?<br />На всякий случай - проц i9-10900, 128 гб оперативы.</p>]]></description>
			<author><![CDATA[null@example.com (isxodnik)]]></author>
			<pubDate>Thu, 24 Jun 2021 23:48:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=148590#p148590</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: медленная работа PixelSearch]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=148584#p148584</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>как засечь время выполнения скрипта.<br />Что тут можно сделать?</p></blockquote></div><div class="codebox"><pre><code>e::
{
Start := A_TickCount
...
TimeMSC := A_TickCount - Start
MsgBox, Время выполнения этой части кода: %TimeMSC% миллисекунд.
...
}	
q::reload</code></pre></div><p>&nbsp; Добавил нужное в код.</p>]]></description>
			<author><![CDATA[null@example.com (Foma)]]></author>
			<pubDate>Thu, 24 Jun 2021 13:48:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=148584#p148584</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: медленная работа PixelSearch]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=148583#p148583</link>
			<description><![CDATA[<p>В коде не заданы координаты поиска.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Thu, 24 Jun 2021 13:42:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=148583#p148583</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: медленная работа PixelSearch]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=148582#p148582</link>
			<description><![CDATA[<p>Долго, порядка 0,5-1 сек, выполняется следующий код:<br /></p><div class="codebox"><pre><code>
e::
{
HP_1 := HP_2 := HP_3 := HP_4 := HP_5 := &quot;&quot;	;очистка переменных

Loop, 5
	{
;ищет чёрный пиксель в пяти горизонтальных полосках размером 1*51 пиксель
	PixelSearch, x, y, x_%A_Index%_1, y_Search, x_%A_Index%_2, y_Search, 0x000000, Fast
;и вычисляет длину этой полоски до чёрного пикселя
	HP_%A_Index% = % x - x_Search_%A_Index%_1
	}

MsgBox, %HP_1% %HP_2% %HP_3% %HP_4% %HP_5%
return
}	
q::reload</code></pre></div><p>Точнее сказать не могу, потому что - и это вторая проблема - не могу нарыть, как засечь время выполнения скрипта.<br />Что тут можно сделать?</p>]]></description>
			<author><![CDATA[null@example.com (isxodnik)]]></author>
			<pubDate>Thu, 24 Jun 2021 13:21:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=148582#p148582</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: медленная работа PixelSearch]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102725#p102725</link>
			<description><![CDATA[<p>Если 900 раз запустить команду для отдельного пикселя, то ищет действительно долго.<br />А если искать один раз, но в большом регионе, то всё отрабатывает быстро. 1000x1000 пикселей прочёсывает за 3 секунды. Windows XP, AutoHotkey 1.1.23.05.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Tue, 19 Apr 2016 08:21:22 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102725#p102725</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: медленная работа PixelSearch]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102722#p102722</link>
			<description><![CDATA[<p>У меня операционка не менялась, Windows 7 Prof. Точнее, стояла та же самая, потом снёс и поставил заново. Может быть, какие-то обновления винды сыграли роль? </p><p>У меня программа искала даже не 900 точек (это я уж совсем сузил область), а на экране 1920х1080. Три года назад такой поиск отрабатывал за пару секунд, не больше (а если искомая точка находилась ближе к левому верхнему краю, то и вообще почти мгновенно). А теперь та версия скрипта прочёсывает экран так долго, что можно успеть заварить чай и провести чайную церемонию. С Fast-ом стало так же быстро, как раньше.</p>]]></description>
			<author><![CDATA[null@example.com (Tsubasa)]]></author>
			<pubDate>Tue, 19 Apr 2016 05:29:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102722#p102722</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: медленная работа PixelSearch]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102657#p102657</link>
			<description><![CDATA[<p>У меня старый компьютер, ещё дольше ищет. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />SetBatchLines, -1 помогло уменьшить время в полтора раза. Проверял на старой версии AutoHotkey - то же самое. А с параметром Fast почти мгновенно отрабатывает. Значит она всегда так и работала. Просто до этого мало кто искал по 900 точек за раз.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Sun, 17 Apr 2016 07:10:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102657#p102657</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: медленная работа PixelSearch]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102656#p102656</link>
			<description><![CDATA[<p>А вы у себя проверили? У меня тоже секунд 15 занимает, что выглядит странно. Что там так долго делать, не понятно.</p><p>Процессор явно ни при чём, ОС — Win10.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Sun, 17 Apr 2016 06:52:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102656#p102656</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: медленная работа PixelSearch]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102654#p102654</link>
			<description><![CDATA[<div class="quotebox"><cite>Tsubasa пишет:</cite><blockquote><p>Квадрат 30х30 она прочёсывает секунд за 15</p></blockquote></div><p> Так медленно не должно быть. А что за три года изменилось, может быть ОС? Или процессор занят чем-то другим.</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Sun, 17 Apr 2016 06:45:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102654#p102654</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: медленная работа PixelSearch]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102635#p102635</link>
			<description><![CDATA[<p>Точно, так работает значительно быстрее. Спасибо.</p>]]></description>
			<author><![CDATA[null@example.com (Tsubasa)]]></author>
			<pubDate>Sat, 16 Apr 2016 15:05:21 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102635#p102635</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: медленная работа PixelSearch]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102630#p102630</link>
			<description><![CDATA[<p>Можно быстрый режим использовать.<br /></p><div class="codebox"><pre><code>
PixelSearch, X, Y, 1000, 160, 1030, 190, 0x0000c6, 0, Fast
if ErrorLevel
    MsgBox, That color was not found in the specified region.
else
    MsgBox, A color within 3 shades of variation was found at X%X% Y%Y%.
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Sat, 16 Apr 2016 14:10:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102630#p102630</guid>
		</item>
		<item>
			<title><![CDATA[AHK: медленная работа PixelSearch]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=102629#p102629</link>
			<description><![CDATA[<p>Добрый день!<br />У меня был ранее написанный скрипт (года три назад), выполняющий некую работу. Сегодня запустил, а он сильно тормозит. Оказалось, что тормоза идут при выполнении&nbsp; команды PixelSearch. Квадрат 30х30 она прочёсывает секунд за 15 (если он пустой). Раньше она работала раз в 100 быстрее. </p><div class="codebox"><pre><code>PixelSearch, X, Y, 1000, 160, 1030, 190, 0x0000c6 
if ErrorLevel
	MsgBox, That color was not found in the specified region.
else
	MsgBox, A color within 3 shades of variation was found at X%X% Y%Y%.</code></pre></div><p>AHK стоит последней версии v1.1.23.05, Windows 7 x64. </p><p>Это теперь так и должно быть, или я что-то не учёл?</p>]]></description>
			<author><![CDATA[null@example.com (Tsubasa)]]></author>
			<pubDate>Sat, 16 Apr 2016 13:20:36 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=102629#p102629</guid>
		</item>
	</channel>
</rss>
