Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.25;
Скачать: CL | DM;

Вниз

Принцип работы RAdmin a   Найти похожие ветки 

 
pasha_golub ©   (2004-02-02 13:57) [0]

Вернее интересует метод коим он так быстро делает скриншоты и послыает их на клиент. Очень интересно узнать. Или может быть у каого-то есть какие-то соображения. Поделитесь пжлста.


 
MBo ©   (2004-02-02 14:12) [1]

Отслеживается изменение скриншота, и посылается только измененный кусок.


 
pasha_golub ©   (2004-02-02 14:18) [2]

Хм, ну это да. Но вот каким способом, я имею ввиду программно?

Ловит ли он сообщения либо каким другим способом?


 
Тоже мимо проходил...   (2004-02-02 14:25) [3]

Скриншоты? А в какой формат он их кодирует?


 
pasha_golub ©   (2004-02-02 14:27) [4]

Вообщем-то, про формат не знаю. Но на сайте есть статистика, что RAdmin работает (наверное передает информацию) в 32 раза быстрее VNC.


 
AndersoNRules ©   (2004-02-02 15:16) [5]

Ya dumayu on sohronyaet v BMP, menyaet format v JPG(shtob vesil menishe) i potom peredayeot i vseo takoe


 
DiamondShark ©   (2004-02-02 16:17) [6]

<TELEPATOR ON>
Ничего он не ловит.
Просто периодически делает скриншот и сравнивает с предыдущим. Само сравнение тоже реализуется просто: побитовым XOR -- изменившиеся пикселы будут ненулевыми. Остаётся только выделить минимальные прямоугольные фрагменты, включающие изменившиеся участки. При передаче, возможно, используется простейшее сжатие без потерь.
<TELEPATOR OFF>
Кстати, временами он занимает до 50% процессорного времени.


 
pasha_golub ©   (2004-02-02 17:00) [7]

DiamondShark © (02.02.04 16:17) [6]

Идея хороша. Только обязательно ли нужно выделять прямоугольные фрагменты? Думаю, что 0 пикселы в конце концов воспринимаются как прозрачные.


 
MBo ©   (2004-02-02 17:03) [8]

>обязательно ли нужно выделять прямоугольные фрагменты
Так намного проще


 
DiamondShark ©   (2004-02-02 18:07) [9]

Прямоугольные фрагменты а) легче всего найти б) легче всего описать. Ведь любой неэлементраной формы фрагмент всё равно придётся как-то представлять. А для растрового изображения прямоугольник -- самая элементарная фигура.

Про прозначность я не совсем понял. Зачем? Всё равно отрисовать на приёмном конце весь прямоугольник будет быстрее, чем возиться с прозрачностью. А передавать всё равно придётся все пикселы, прозрачные они или нет.
Или я что-то недопонял?

Возможный формат потока может быть, к примеру, таким:
<кол. фрагментов><X1, Y1, X2, Y2, (pixels_data)>...<X1, Y1, X2, Y2, (pixels_data)>
фрагмент1 ... фрагментN

Формат пикселя устанавливается и запоминается один раз -- при установке связи.
Можно чего-нибудь ещё добавить для контроля целостности.

При работе в типичном оконном окружении изменяющихся фрагментов будет мало и они будут мелкие. Тяжёлый случай -- полноэкранная игрушка или окошко с фильмом. Но тут уж, как говорится, против танка не попрёшь. Да и вряд ли применение такой программы для удалённого просмотра фильмов будет типичным.

В простейшем случае приемлемый результат может дать даже простейший алгоритм с выделением только одного фрагмента (минимальный прямоугольник, включающий все изменившиеся пикселы). Однако, такой подход может дать сильно неравномерные результаты. Так, тяжёлым случаем тут будет, к примеру, диагональная линия во весь экран, или, скажем, изменение часиков и моргание курсора в верхнем левом углу.

Тогда можно рекурсивно разбивать прямоугольники пополам (поперёк длинной стороны) и искать минимальные фрагменты в них. Полностью неизменные фрагменты, естественно, отбрасываются.


 
pasha_golub ©   (2004-02-03 10:17) [10]

Спасибо. Идею понял. но все-таки чем тогда можно объяснить такую разницу в производительности или быть может это рекламная уловка?


 
alxx ©   (2004-02-03 11:02) [11]

Я пробовал пихать снимок экрана в DIB, чтобы по быстрому можно было смотреть что там изменилось. Получалось примерно кадр в три секунды при полной загрузке компа (целерон кажись какой-то был). Кто-нибудь еще пробовал это делать?

Там (RAdmin) кажись посложнее механизм. Кажется используются какие-то хуки.


 
DiamondShark ©   (2004-02-03 11:42) [12]

Тут уж, извиняюсь, возможностей телепатора не хватает :-)
Не утверждалось ведь, что РАдмин работает именно так. Просто был предложен возможный алгоритм работы, который, кстати, имеет широкие возможности для всякого рода тюнинга.

Что ж до сравнения... Хм... Не хотелось бы априори предполагать недобросовестную рекламу, но ведь действительно можно выбрать заведомо тормозного конкурента и сравнить с ним.
Опять же, может другие разработчики акцент на что-то другое делали. Например, полагали преимущественное использование в локальной сети, где скорость передачи не так критична. Зато выиграли, скажем, в загрузке процессора -- нет необходимости усиленно лопатить битмапы.
А РАдмин больше для узких каналов задумывался. Всяко бывает...


 
MBo ©   (2004-02-03 12:24) [13]

> разницу в производительности или быть может это рекламная уловка?

Действительно, RAdmin работает намного быстрее, чем VNC.

>alxx кадр в три секунды
здесь причина может лежать в методе сравнения DIB-ов


 
pasha_golub ©   (2004-02-03 12:52) [14]

MBo © (03.02.04 12:24) [13]
Ну неужели метод сравнения DIB-ов может настолько разносить результаты, ну я надеюсь, сравнение идет без явных ляпов.


 
MBo ©   (2004-02-03 12:58) [15]

>pasha_golub
Да, может, если не було уделено внимание скорости, хотя в данном случае не указано - на что тратилось основное время



Страницы: 1 вся ветка

Текущий архив: 2004.02.25;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.019 c
1-79724
smolin
2004-02-12 11:21
2004.02.25
Функция перемещения файла


14-80119
Я хороший ;)
2004-02-02 19:09
2004.02.25
Подскажите ссылку


14-80229
Всеволод Соловьёв
2004-02-04 23:16
2004.02.25
Модераторство


3-79644
Dima
2004-01-31 21:51
2004.02.25
Пустые ADO DataSets


1-79858
_Студент_
2004-02-10 16:37
2004.02.25
Packed record - работа с файлами.