Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
enzo_brn
193 / 11 / 4
Регистрация: 26.04.2011
Сообщений: 126
1

Низкая скорость захват изображения с монитора

27.08.2016, 13:06. Просмотров 940. Ответов 5

Привет.
Есть (точнее уже угасает..) мысль - построить простенький аналог TeamViewer, сам он не подходит т.к. платный,
Ammy admin тормозной и не удобный, а RDP даже обсуждать не хочется!
--
Среднестатистический PrintScreen 1280x1024.bmp
Силами System.Drawing 100 мс. ( + 60 мс. save) = 160
Силами SlimDX.Direct3D9 (GetFrontBufferData) 60 мс. ( + 20 мс. save) = 80
--
Может, есть способ ускорить это в 4 раза?
--
Тот же "AnyDesk", говорят, 60 fps дает, это порядка 16 мс. на захват, сжатие, отправку, распаковку и отрисовку (минус пинг). Это что, магия потусторонняя, как они это делают? + если еще кодеком jpeg жать, то там вообще ~ 400 мс. / кадр..
--
Другой подход? Разница в 2х кадрах? Читы какие-то?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.08.2016, 13:06
Ответы с готовыми решениями:

низкая скорость
Никак не могу понять, почему программа работает медленно. Программа - обучение...

Захват изображения с камеры
Есть некая камера со своим SDK. Пишу простенькое приложение для захвата с неё...

Захват изображения с видеокамер/вебкамеры
Собственно сабж: еть вывод на экран видео,в определенный момент нужно сделать...

Захват изображения с видеокамеры -> реакция на движение -> снимок с камеры
Здравствуйте, форумчане! Помогите пожалуйста реализовать захват камеры с...

Захват изображения со второго монитора
Как захватить изображение со ВТОРОГО монитора в системе? Код ниже...

5
Psilon
Master of Orion
Эксперт .NET
6012 / 4865 / 902
Регистрация: 10.07.2011
Сообщений: 14,477
Записей в блоге: 5
Завершенные тесты: 4
27.08.2016, 15:38 2
enzo_brn, разница такая же, как между gif и нормальным видеокодеком, видеофайл это не просто куча картинок, по 24 картинки на каждую секунду.

Кстати.
а) рдп отличный протокол
б) тимвьювер бесплатный для индивидуального использовния
0
enzo_brn
193 / 11 / 4
Регистрация: 26.04.2011
Сообщений: 126
27.08.2016, 15:58  [ТС] 3
Намек понят! ;-) (Если это был намек)
0
Psilon
Master of Orion
Эксперт .NET
6012 / 4865 / 902
Регистрация: 10.07.2011
Сообщений: 14,477
Записей в блоге: 5
Завершенные тесты: 4
27.08.2016, 16:18 4
Низкая скорость захват изображения с монитора
0
Убежденный
Ушел с форума
Эксперт С++
16128 / 7275 / 1181
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
27.08.2016, 17:54 5
Лучший ответ Сообщение было отмечено enzo_brn как решение

Решение

Цитата Сообщение от enzo_brn Посмотреть сообщение
Может, есть способ ускорить это в 4 раза?
TeamViewer и другие программы такого уровня действуют не столь прямолинейно,
как может показаться. Они не скринят в цикле всю дисплейную область, а берут
только измененные регионы. Например, если какое-то окно передвинули с позиции {x,y}
на {x+30,y+20}, то программа может отослать по сети только крохотную порцию
сжатых данных с координатами и смещениями. У VNC и RDP для этих целей используется
(опционально) специальный mirror driver, который позволяет отслеживать изменения
на экране, а на Windows 8 и выше есть хороший API под эту задачу - Desktop Duplication,
он позволяет достигать высокого FPS без нагрузки на систему и dwm.exe.
4
enzo_brn
193 / 11 / 4
Регистрация: 26.04.2011
Сообщений: 126
29.08.2016, 06:52  [ТС] 6
Спасибо! Значит читы, как и полагал) API не подходит, т.к. нужна поддержка XP. Буду смотреть в сторону RDP Encoder Mirror Driver.
0
29.08.2016, 06:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.08.2016, 06:52

Низкая скорость копирования изображения вызовом функции bitblt
Привет. Имеется набор иерархически упорядоченных классов - графических...

Захват изображения с одного монитора и копирование его на второй, подключенные к одному и тому же компьютеру
Друзья, подскажите пожалуйста. Имеется два монитора, подключенных к одному...

Захват экрана монитора на WinForm
Собственно требуется следующее - создать программу для захвата изображения с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru