Предупреждение: у нас нет цензуры и предварительного отбора публикуемых материалов. Анекдоты здесь бывают... какие угодно. Если вам это не нравится, пожалуйста, покиньте сайт. 18+

Ваше мнение

На этой странице свободно обсуждаются любые темы. Просьба избегать матерных выражений и грубых личных "наездов". Модератор может удалить реплику без предупреждения и объяснений. Намеренное хулиганство будет пресекаться. "Неторопливое общение" - в "Дискуссионном клубе".
Измышления из ВМ


1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019
2015: Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь
Август        2015
Пн Вт Ср Чт Пт Сб Вс
                1  2
 3  4  5  6  7  8  9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 

Комментарии (4): Сначала новые  |  Сначала старые

12.08.2015 18:04:34

Черешниченко Святослав Геннадьевич
Родился 6 сентября 1986 года в г. Сланцы.

В 2008 году окончил Санкт-Петербургскую Государственную Академию Театрального Искусства (СПбГАТИ), курс профессора Г.А. Барышевой.

В 2008 году работал в театре "Премьера" (Санкт-Петербург).
С сентября 2008 года актёр и музыкант Александринского театра (Санкт-Петербург).

Ушел из жизни 8 августа 2015 года.
ТЕАТРАЛЬНЫЕ РАБОТЫ
* "ЧЕЛОВЕК=ЧЕЛОВЕК" Б. Брехта (режиссер Ю. Бутусов);
* "ЖЕНИТЬБА" Н. В. Гоголя (режиссер В. Фокин);
* "ЭДИП-ЦАРЬ" Софокла (режиссёр Т. Терзопулос);
* "КСЕНИЯ. ИСТОРИЯ ЛЮБВИ" В.Леванова (режиссер В.Фокин);
* "ГАМЛЕТ" В.Шекспира (режиссер В.Фокин);
* "УКРОЩЕНИЕ СТРОПТИВОЙ" (режиссёр О. Коршуновас);
* "ДВОЙНИК" Ф.М. Достоевского (режиссер В. Фокин);


бюрг12.08.2015 17:08:12

Африканец, это я чтобы порядок оценить, первое, что на C++ подвернулось.


Африканец12.08.2015 13:29:00

Да, еще всякие CreateCompatibleBitmap довольно медленные функции, может быть лучше создавать один раз и потом переиспользовать. И зачем нужна ckipboard? Сразу после BitBlt можно сделать GetDIBits и все.


Африканец12.08.2015 13:22:15

бюрг

по ощущениям должно быть можно сделать быстрее. У тебя в массиве 3 миллиона элементов. Считая тактовую частоту 2.5 миллиарда тактов в секунду, имеем 50 мс = 125000000 тактов или около 40 тактов на элемент. Это много. Мне кажется, должно хватить порядка 10-15. Проверь, что все собираешь со всеми оптимизациями и не в отладочном режиме.

Я попробую, как время будет, написать и погонять. Для начала можно все три байта сравнивать одной инструкцией. Типа так

DWORD a = *(DWORD*) p;
DWORD b = *(DWORD*) pO;
if ((a^b) & 0xFFFFFF) {
*(DWORD*) p2 = 1 | (pO << 8);
}
p2 += 4;

(или вообще сразу описать p2 как DWORD*)

Правда, это решение не универсальное (работает только на x86).

Можно придумать вариант с использованием 8-байтных инструкций или и вовсе SSE/AVX.



Комментарии (4): Сначала новые  |  Сначала старые

Рейтинг@Mail.ru