![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: 12 Всего: 17 |
Я никогда не работал с видеопамятью. Создай такую тему где-нить в WinApi. Или обратись к Chaos - , я помню, он умеет. А насчет сравнения я бы посоветовал так. Вот вся видеопамять:
[********************************************************* ] ^________________________________________________________^ ptr1______________________________________________________ptr2 Смотришь, где начинаются изменения (_beg, и где заканчиваются _end). Отводишь память под размер (_end - _beg) и спасаешь в оперативе. Таким образом ты хранишь список таких структур:
Прогу стоит писать на чистом С с использованием системных вызовов. Будет быстрее. char * - указатель на байтовую переменную, чтобы при вычитании получать реальные размеры блоков. Специалисты, поправьте меня. Это сообщение отредактировал(а) comcon1 - 3.8.2005, 14:28 |
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 5 Всего: 29 |
Я бы посоветовал кодирование в gif/jpg налету. Потому как метод сравнения всё равно не особо хорош - закрыл развёрнутое на весь экран окно, получил обновление практически всего экрана.
С видео памяти нужно читать. |
|||
|
||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: 12 Всего: 17 |
Почему бы не сделать и сравнение тоже. Ведь он не успеет закодировать 70 метров за секунду. Он разве что из памяти в память перегонит.
Еще можно организовать очередь вот этих структур modification. В конец ей запендеривать новые данные, а из начала -- перекодировать и писать на диск. Должны работать два таймера по одному будет сниматься экран, по второму -- будет происходить jpeg\gif конвертирование и запись на диск. Таким образом очередь будет с одного конца расти, с другого -- отъедаться. Преимущество такого подхода в том, что если поток информации из видеопамяти сузится, запись на диск предыдущих картинок будет идти в том же темпе. В общем, буффер. Я использовал этот подход с двумя таймерами для создания директории-зеркала. Одна директория полностью повторяет все изменения другой. |
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: нет Всего: 1 |
ManiaK В видеопамять и писать можно при необходимости.
Я даже не думал, что все окажется так сложно. |
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 5 Всего: 29 |
Если тебе ОСь это сделать даст. Хотя, в играх текстуры грузят как-то, возможно... |
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: нет Всего: 1 |
Насколько я знаю игры на DirectX работают с видеопамятью напрямую, по крайней мере размещать в видеопамяти инфу и извлекать DirectX позволяет.
|
|||
|
||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: 12 Всего: 17 |
А что ты хотел?? Задача для системного программиста. Должен знать Ось и ее системные вызовы. Иначе это будет не видео, а развеселый набор фотографий и зависон ( с приветом биллу). |
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: нет Всего: 1 |
Вот только Windows наверное блокирует свою видеопамять.
|
|||
|
||||
| Знак |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 29.4.2005 Репутация: -5 Всего: нет |
Попробуй
HyperCam 1.4 Валидол ищи сам. --------------------
Ищу 2 файлаowl.tchwindows.tch |
|||
|
||||
| ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 5 Всего: 29 |
Он-то напрямую, но ты можешь работать только через него |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |