Страница: 1 | 2 | 3 |
Вопрос: Параллельный ParallelBitmap
Добавлено: 25.02.11 21:04
Автор вопроса: VβÐUηìt | Web-сайт:
Ответы
Всего ответов: 38
Номер ответа: 31
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #31
Добавлено: 01.03.11 21:47
Хм. SSE4?
Номер ответа: 32
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #32
Добавлено: 01.03.11 22:21
Сколько операций рисования выполняется всего?
Номер ответа: 33
Автор ответа:
Котяра
Вопросов: 4
Ответов: 4
Профиль | | #33
Добавлено: 01.03.11 23:02
Eros, привет. Пару лет назад ты объяснял одному челу в форуме, как проигрывать видео и аудио на форме, и ещё второй там с такой же бедой, у меня такая же проблема сейчас, и я надеюсь ты можешь посоветовать, как с ними пообщаться. Их ники Tof и Романыч.
Номер ответа: 34
Автор ответа:
VβÐUηìt
Вопросов: 246
Ответов: 3333
Web-сайт:
Профиль | | #34
Добавлено: 01.03.11 23:11
Сколько операций рисования выполняется всего?
Должно хватать на 5-6. Больших таких кусков а-ля 0.1 - 0.8 Мпикс. С альфа каналом. На самом деле их больше, но они рисуются каждый в отдельном потоке на отдельном битмапе, и обновляются только по необходимости (уже запилил ), а на видео накладывается уже готовый битмап. Теперь на кадр уходит приблизительно 15-16-17 мс, то есть 58-62 кадра в секунду. Вот теперь можно битмапы накладывать многопоточно. Это просто можно сделать на C++, побайтовым копированием. Но для полного счастья нужно еще запилить SSE4. Очень сильно уверен, что какой-нибудь продвинутый раста уже запилил альфа-блендинг на SSE4. Операция, по идее, стандартная.
Номер ответа: 35
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #35
Добавлено: 02.03.11 06:50
Эээ.. я и имен-то таких не помню Они явно не местные, залетные..
Номер ответа: 36
Автор ответа:
жванецкий
Вопросов: 0
Ответов: 8
Профиль | | #36
Добавлено: 02.09.12 12:04
ты штоб рысавать юзай так
byte[] array = new byte[width * height * 4];
GCHandle h = GCHandle.Alloc(array, GCHandleType.Pinned);
IntPtr ptr = Marshal.UnsafeAddrOfPinnedArrayElement(array, 0);
byte* firstbyte = (byte*)ptr;
Bitmap bm = new Bitmap(width, height, ptr); // stride = width * 4; bgra
а для доступа к пикселям штоб рысавать указатель. Bitmap так созданный позволяет одновременно и прорисовку проводить и рисование.
Номер ответа: 37
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #37
Добавлено: 02.09.12 12:18
EROS хорош дурью маяться
Номер ответа: 38
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #38
Добавлено: 02.09.12 16:06
ты о чем???