Author Topic: В чем проблема...?  (Read 6994 times)

0 Members and 1 Guest are viewing this topic.

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: В чем проблема...?
« Reply #30 on: October 16, 2016, 02:00:36 PM »
потоки прироста к скорости не дадут
Странно... Ведь по логике, если, скажем, 10 разных картинок разбить на два потока (в каждом по 5), то время поиска должно бы сократиться в двое... Ведь 5 картинок искались бы одновременно с поиском других пяти. Ну, это по логике. В ситуации с Clickermann это не так?
Я не ду... Потому и не бу...

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: В чем проблема...?
« Reply #31 on: October 16, 2016, 02:12:27 PM »
Кликер и в один поток напрягает процессор по полной. Две задачи будут просто выполняться в два раза медленнее.
У меня, кстати, кликер напрягает двух ядерный процессор на 50%, это значит что оба ядра не используются по полной а просто задача распределяется на два ядра. И тут чем больше ядер тем быстрее.


Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: В чем проблема...?
« Reply #32 on: October 16, 2016, 02:21:40 PM »
Кликер и в один поток напрягает процессор по полной.
Ну... Тут я могу пощеголять  ;D

http://shot.qip.ru/00R6pv-617zmt2zj2/

http://shot.qip.ru/00R6pv-617zmt2zj3/

Это при том, что у меня открыто два браузера и в каждом по 50 вкладок )))) + работает эмулятор PS2, в котором игра на паузе стоит ))
А это с паузой в 10 мс ))

http://shot.qip.ru/00R6pv-317zmt2zj4/
« Last Edit: October 16, 2016, 02:23:44 PM by Hito »
Я не ду... Потому и не бу...

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: В чем проблема...?
« Reply #33 on: October 16, 2016, 02:52:58 PM »
у меня тоже 8-ядерник, но не интел  :D, . и как было видно ранее, кликер работает в 2 раза медленнее чем у Hito. проц почти не напрягается при работе - 5-10% при поиске картинки. так что от чего тут зависит скорость кликера я хз  :D
а насчет разделения на потоки, то вот тест:
Code: (clickermann) [Select]
$x1=33
$y1=528
$x2=500
$y2=850
wait(22222)

THREAD(thr_1)   
   $ms = $_ms
   GETSCREEN($x1, $y1, $x2, $y2)
   IF_PICTURE_IN ($x1, $y1, $x2, $y2, "test.bmp", 0, 100)
      print($_return1,"x", $_return2)
   END_IF
   LOGWRITE("первый поток ",$_ms-$ms,"ms")
   waitms(30)
END_THREAD

THREAD(thr_2)   
   $ms = $_ms
   GETSCREEN($x1, $y1, $x2, $y2)
   IF_PICTURE_IN ($x1, $y1, $x2, $y2, "test.bmp", 0, 100)
      print($_return1,"x", $_return2)
   END_IF
   LOGWRITE("второй поток ",$_ms-$ms,"ms")
   waitms(30)
END_THREAD
в потоках ищет в этой области ~1200мс каждый поток

и без потоков, поочереди
Code: (clickermann) [Select]
$x1=33
$y1=528
$x2=500
$y2=850
$ms = $_ms
GETSCREEN($x1, $y1, $x2, $y2)
IF_PICTURE_IN ($x1, $y1, $x2, $y2, "test.bmp", 0, 100)
   print($_return1,"x", $_return2)
END_IF
LOGWRITE($_ms-$ms)
waitms(30)
примерно 600мс. тоесть, использование потоков для повышения скорости поиска картинов не имеет смысла.


но.... имеет смысл поиск каждой картинки в отдельном кликере, это действительно работает. работает на столько, на сколько хватит мощности процессора. а это очень много, на моем компе запросто можно запустить отдельно 20-30 отдельных кликеров, и каждый будет работать в максимум своей скорости, и при этом процессор даже и не заметит их.



Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: В чем проблема...?
« Reply #34 on: October 16, 2016, 03:19:05 PM »
Странная ситуация с потоками... Благодаря ей, потоки во многом теряют свой смысл... А дохрена кликеров открывать - конечно выход, но какой-то "грязный"... :) Пройти игру в конце концов поможет, но эго сцука унизит... ;D Да и больше двух кликеров открывать нет смысла - две обрабатываемой области.
« Last Edit: October 16, 2016, 03:23:55 PM by Hito »
Я не ду... Потому и не бу...