2 / 2 / 1
Регистрация: 18.04.2014
Сообщений: 26
|
|
1 | |
Быстрая передача udp пакетов19.11.2014, 14:08. Показов 5851. Ответов 28
Метки нет (Все метки)
Есть задача передать udp пакеты, как можно быстрее. Точнее, данные 1024*768 байт должны передаваться за 5 мс, сейчас добился скорости в 17мс, размеры пакетов могут быть любыми (сейчас 512). Каким образом можно ускорить передачу в 3 раза? Каким способом осуществляется асинхронная передача пакетов?
Использую Visual Studio 13, на windows 7, библиотека winsock2.h
0
|
19.11.2014, 14:08 | |
Ответы с готовыми решениями:
28
UDP отправка и прием пакетов Передача/прием UDP пакетов stm32f107vct6 Передача с микрофона в udp и прием из udp на динамик Быстрая отправка пакетов |
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
19.11.2014, 14:13 | 2 |
У тебя получается больше гигабита в секунду, а есть ведь паузы между пакетами, коллизии, другие пакеты.
Добавлено через 2 минуты Если стандарт не тянет, то фиг чего получится. На гигабит эзенет, например, нельзя даже ровно гигабит получить, кроме как за время передачи отдельно взятого пакета.
0
|
2 / 2 / 1
Регистрация: 18.04.2014
Сообщений: 26
|
|
19.11.2014, 14:19 [ТС] | 3 |
Больше гигабита? Как вы так посчитали?(1024*768*8/(17*10^-3) = 300Мb/s), сеть у меня 10Gb/s, и подключена напрямую к плате(FPGA), т.е. лишних пакетов должно быть минимум.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
19.11.2014, 14:53 | 4 |
.
Добавлено через 1 минуту , но эта скорость тебя не устраивает. Добавлено через 7 минут А объявления серверов каждые 5 минут, а ответы получателя хоть иногда, а просто попытки юзверей зайти на расшаренный каталог, или принтер? Прямо к плате - это хорошо. А плата куда? Шнуром в порт коммутатора? Так вот, с него встречные пакеты и свалятся. А ещё если назначение за другим коммутатором, то узкое место будет на кабеле между ними и если кто то с того коммутатора хочет зайти в расшаренный ресурс даже на другой машине, но на твоём коммутаторе, то скорость упадёт. А ещё коммутатор в обще случае может и не быть не блокирующим, тогда при большом трафике разные пары портов делят между собой скорость внутренней магистрали и доля каждой оказывается меньше, чем максимальная скорость, на которой работает данный коммутатор.
0
|
19.11.2014, 16:56 | 5 |
Попробую предположить, что 1024x768 это изображение. Если это так, то в таких случаях логичнее применить какое-нибудь быстрое кодирование с потерей качества или без. Это значительно уменьшит размер передаваемых данных, что прямо пропорционально увеличит скорость их передачи. Такое кодирование легко выполняется в реальном времени на современных ПК.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
19.11.2014, 16:58 | 6 |
Если это и изображение, то двухсотпятидесятишестицветное.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
19.11.2014, 17:09 | 8 |
Это меняет выбор алгоритма сжатия. Джипег, например, не подойдёт.
0
|
19.11.2014, 17:39 | 9 |
WeDZminxxx, кстати, 17 мс на кадр - это 58,82352941176471 кадров в секунду (почти частота вертикальной развёртки бюджетного монитора).
5 мс на кадр - это 200 кадров в секунду. Собственно, вопрос.. Тебе куда столько? А никто про конкретный алгоритм и не говорил. Еще один интересный момент. Как пример, в современных сетях интернет, с подключением 100Мб, пинг от провайдера до абонента, или от абонента до абонента внутри сети идет ~ 5 мс (между рабочими станциями, в роли которых идут обычные бюджетные ПК). При этом размер пакета равен 32 байта. Ты так все свои 10Gb/s загрузишь, на другое "места" не останется..
0
|
2 / 2 / 1
Регистрация: 18.04.2014
Сообщений: 26
|
|
19.11.2014, 18:08 [ТС] | 10 |
Да, это кадр видео, но плата обрабатывает сырое видео - требование. Поэтому сжимать нельзя, нужно 14(пока 8) битное изображение в прогрессивной развертке.
Изображение в градациях серого, от 0 до 255, что требует 8 бит. Не устраивает, минимум 10ms ... Если что-то и есть, то только запросы windows в сеть. Плата отправлять в ethernet вообще не умеет, работает на прием(после платы cpu через PCIe). Других пользователей в сети нет, только винда(то бишь сетевуха, которой пользуюсь только я) и плата(которая не отправляет пакеты в сеть) Требование - 100 кадров в секунду(10ms), захотел просто запас еще на 100 кадров, так как может появиться еще один пользователь аналогичный данному отправщику. ничего другого и не должно быть
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
19.11.2014, 18:24 | 13 |
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
19.11.2014, 18:25 | 14 |
Смысл такой платы? Она не в сети и её ни кто не видит. Ни кто ни когда даже не узнает, на каком порту коммутатора он вообще сидит.
0
|
2 / 2 / 1
Регистрация: 18.04.2014
Сообщений: 26
|
|||||||||||
19.11.2014, 18:30 [ТС] | 15 | ||||||||||
выдает кадр за 5ms и 5ms ждет, потом отправляет следующий кадр, поэтому к симулятору такие требования
передача идет 20байт заголовка + 512байт данных - пол строки Пол строки выбрано так как показывает наибольшую скорость
0
|
castaway
|
19.11.2014, 18:34
#16
|
Не по теме: taras atavin, Тарас, ты действительно разбираешься в этом?
0
|
2 / 2 / 1
Регистрация: 18.04.2014
Сообщений: 26
|
|
19.11.2014, 18:34 [ТС] | 17 |
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
19.11.2014, 18:40 | 18 |
Не получая его? Интересно, как ты на вникуда получил хоть что то.
Добавлено через 3 минуты Чтоб хотябы знать, где она сидит, то есть куда именно для неё отправлять видео, она должна отправить хоть что то. Хотябы служебные пакеты. И если в сети только она, то кто же ей видео то посылает? Она по условию не умеет.
0
|
19.11.2014, 18:44 | 19 |
Ок. 100 кадров в секунду, больше "не выжать".
По поводу отрывка кода - он ужасен, правда. Лишнее условие в цикле, лишние математические операции... Отправляешь по 2048 байт.. блин. Я даже не знаю что посоветовать... Пробовал отправлять изображение целиком? ?
0
|
2 / 2 / 1
Регистрация: 18.04.2014
Сообщений: 26
|
|
19.11.2014, 18:58 [ТС] | 20 |
С чего вы взяли что она не получает видео? У платы есть ip, mac и порт, прошиты железно, что бы передать на плату, я забиваю arp таблицу вручную, поэтому для винды все хорошо. Она даже не спрашивает кто это.
0
|
19.11.2014, 18:58 | |
19.11.2014, 18:58 | |
Помогаю со студенческими работами здесь
20
Прием пакетов по UDP Потери UDP пакетов Потери UDP пакетов Прием UDP пакетов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |