Какой самый быстрый способ в C ++ для обмена экранами между компьютерами, как в Skype или Google Plus? В настоящее время я делаю скриншот, конвертирую его в JPG низкого качества с GDI +, а затем отправляю на удаленный компьютер, но, хотя он работает, он не очень быстрый (7 FPS через localhost).
Я не могу комментировать 🙁
Но есть над чем подумать.
Который Операции занимают больше всего времени? Я подозреваю, что это будет захват из-за xhost localhost — но это действительно может быть что угодно. Benchmark.
Отправитель «блокирует» следующее поколение кадров при ожидании на дисплее получателя? Если это так, то это может добавить узкое место имплик. Отправитель, вероятно, хочет продолжать отправлять кадры, пока получатель не запросит газ.
Если пропускная способность является проблемой, как насчет отправки только частичных или дельта-кадров? Хотя localhost не должен вызывать проблемы с пропускной способностью, я вполне уверен, что это делается на более продвинутых клиентах.
Подумайте о том, чтобы посмотреть, как они работают, на некоторых клиентов VNC [с открытым исходным кодом]. Это не обязательно то же самое, что «Skype», но оно должно дать представление о программе совместного использования экрана.
Других решений пока нет …