![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: 1 Всего: 1 |
JoyEx не поверишь.
Задавал при создании внеэкранной поверхности размещение в видеопамяти. На моем компе все равно через HDC быстрее было(Загруз процессора меньше). А попробовал на другом компе на котором встроенная видюха, и не позволяет создавать в видеопамяти внеэкранную поверхность(создаю в системной, видеопамяти не хватает). На нем вариант с DirectX быстрее работал,но только меню и курсор мыши мигают почему-то? |
|||
|
||||
| JoyEx |
|
|||
|
Дядя ![]() ![]() Профиль Группа: Участник Сообщений: 323 Регистрация: 21.6.2005 Где: Москва, РФ Репутация: 4 Всего: 12 |
Windows получая прерывания от мышки пытается нарисовать курсор на экране, а в этот момент уже DirectX, наверное, заблокировала 1 видеостраницу. -------------------- Если ты уже никого не боишься, значит ты самый страшный |
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: 1 Всего: 1 |
А как это исправить?
Если получается создать внеэкранную поверхность в видеопамяти, то мерцания не наблюдается. |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 3 Всего: 112 |
JoyEx, теперь другая ошибка - 88760104...
(видяха поддерживает оверлеи, FX5600)... Ладно уж буди не мучайся -------------------- С уважением, г-н Посол. |
|||
|
||||
| JoyEx |
|
||||
|
Дядя ![]() ![]() Профиль Группа: Участник Сообщений: 323 Регистрация: 21.6.2005 Где: Москва, РФ Репутация: 4 Всего: 12 |
- до запуска проги уже кто-то юзает оверлей :-)
- тогда остается токо делать фильтры-кодеки -------------------- Если ты уже никого не боишься, значит ты самый страшный |
||||
|
|||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 3 Всего: 112 |
-------------------- С уважением, г-н Посол. |
|||
|
||||
| JoyEx |
|
|||
|
Дядя ![]() ![]() Профиль Группа: Участник Сообщений: 323 Регистрация: 21.6.2005 Где: Москва, РФ Репутация: 4 Всего: 12 |
Ok. Leksey Почему напрямую не берешь картинку из GDI-поверхности (из своей lpDDSurface, первичной?), через ddsd.lpSurface – это же базовый адрес “куска” видеопамяти (поверхности), который DirectDraw отобразил в твой процесс?! Будет же быстрее. Токо вот, когда работаешь через HDC не надо думать о структуре видеопамяти, а если будешь делать типа memset(ddsd.lpSurface, 0x80, логич. ширина экрана * кол-во строк), то в режиме TrueColor24 (формат пикселя - 8:8:8), TrueColor32(8:8:8:8) всё будет хорошо, а вот в HiColor15 (1:5:5:5) или HiColor16(5:6:5) уже будут проблемы. -------------------- Если ты уже никого не боишься, значит ты самый страшный |
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: 1 Всего: 1 |
Будет быстрее, но будет происходить мерцание меню.
Я так пробовал . У MSVS менюшки дрожат. Добавлено @ 13:16 JoyEx а почему будут проблемы с 16-битным режимом? И еще почему картинка получается вверх ногами? |
|||
|
||||
| JoyEx |
|
|||
|
Дядя ![]() ![]() Профиль Группа: Участник Сообщений: 323 Регистрация: 21.6.2005 Где: Москва, РФ Репутация: 4 Всего: 12 |
Leksey
1) 0x80 - серый цвет для 24, 32 bpp экрана, а для 16bpp уже...е не серенький 2) BITMAPINFO > BITMAPINFOHEADER:
Это сообщение отредактировал(а) JoyEx - 9.8.2005, 14:30 -------------------- Если ты уже никого не боишься, значит ты самый страшный |
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: 1 Всего: 1 |
Я говорю про пример на DirectX. |
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 2 Всего: 29 |
Дык формат хранения один и тот же должон быть. Разницы никакой.
|
|||
|
||||
| JoyEx |
|
|||
|
Дядя ![]() ![]() Профиль Группа: Участник Сообщений: 323 Регистрация: 21.6.2005 Где: Москва, РФ Репутация: 4 Всего: 12 |
Видеопамять отображается на экран монитора слева направо и сверху вниз, если битмап аппаратно-зависимый (HBITMAP), то тогда у него структура картинки такая же как и у видеопамяти.
Ф-цию GetDIBits() можно "попросить", чтобы она вернула перевернутую картинку, и даже заказать другой bpp. -------------------- Если ты уже никого не боишься, значит ты самый страшный |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |