Author Topic: Время поиска картинки.  (Read 4984 times)

0 Members and 1 Guest are viewing this topic.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Время поиска картинки.
« Reply #15 on: January 25, 2017, 10:45:38 AM »
Вот так начнёшь изучать симейные портреты...©

Вот что творит AEROфобия   ;D

Ещё не дочитав, меня удивили твои результаты:
при 32 bit   что 800x600 , что 100x100 всё едино.

А так прикольно получилось.
При переходе     32-16              800x600  выгода в 15,7 раз,
а при                   Aero-Classic    800x600  выгода в 33,4 раза.
Значит при переходе на 16 bit не только стиль упрощался, но что-то мешало. Как у меня 16 bit в два раза дольше 32
Вот попробуй, для интереса на классическом 800x600   32 и 16.

Надо занести этот важный факт в справку. На критических по времени задачах отключать AERO!
« Last Edit: January 25, 2017, 10:47:14 AM by Vint »


dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Время поиска картинки.
« Reply #16 on: January 25, 2017, 12:33:54 PM »
Значит при переходе на 16 bit не только стиль упрощался, но что-то мешало. Как у меня 16 bit в два раза дольше 32
Вот попробуй, для интереса на классическом 800x600   32 и 16.

все верно, 16 бит мешает выполнению гетскрина, и даже не в 2, а почти в 3 раза.

GETSCREEN(0, 0, 800, 600) классический стиль
Code: [Select]
32 бит
12:07:14 ===============  тест времени выполнения  ===============
12:07:14 
12:07:14 время выполнения тест 1:  58 мс
12:07:14 среднее время за 100 повторений:  0.58 мс
12:07:14
16 бит
12:08:32 ===============  тест времени выполнения  ===============
12:08:32 
12:08:32 время выполнения тест 1:  147 мс
12:08:32 среднее время за 100 повторений:  1.47 мс
12:08:32 

еще пару тестов: упрощенный стиль и классический стиль - разницы нету, скорость на максимуме. тормозит именно аэро.

а насчет 16 бит и 32 бит, по сути разницы не должно было быть. в кликермане в память походу пишет в любом случае по 8 бит на канал, и ему до лампочки что там на экране.  а вот что там тормозит, это вопрос...
 
и еще, когда я капался в памяти кликера http://crapware.aidf.org/forum/index.php?topic=2134.msg12725#msg12725 , заметил, что в графическом буфере записано 32 бит на пиксель, тоесть еще 8 бит на прозрачность, всегда 255. зачем? конечно Johnny виднее... но как по мне, если не писать в память лишние данные, скорость немного повысится. а еслиб еще кликер понимал что на экране шестнадцатибитное изображение, и писал в память не по 8 бит на канал, а так как на экране - 5:5:6 бит на каждый канал соответственно, получился бы еще небольшой прирост  :D. но это только мои догадки, не воспринимайте серьезно  :D .





насчет того что записывается канал прозрачности, я скорее всего ошибаюсь, так как в буфер прозрачность не записывается, там уже до записи постоянно существуют эти данный, просто эти 8 бит прозрачности не используются.
« Last Edit: January 25, 2017, 12:55:44 PM by dramster »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Время поиска картинки.
« Reply #17 on: January 25, 2017, 01:43:34 PM »
Я думаю что 4 байта вместе с прозрачностью это стандарт. Видно библиотеки так все написаны. Это заодно и оптимизация, обрабатываются два слова или скорее двойное слово. Эти данные всё равно читаются и на их отсеивание и выкидывание потратится лишнее время.
Двойное слово, и даже просто слово, считается или запишется быстрее, чем раздельно 5+5+6 бит. Нужно сформировать эти два байта собирая биты. А в кликере тоже их хранить как 2... нееее. Это весь поиск, сравнение переписывать. Ради чего. Тупиковое направление.