Sockets TCP/IP + Unity

Сеть в Unity3D

Re: Sockets TCP/IP + Unity

Сообщение gnoblin 01 дек 2011, 19:21

Sality писал(а):Хотелось бы чтоб ктонить рассудил 3тий. Как по мне картина будет жуткой, и эта жуткость будет увеличиватся с каждым новым игроком на экране.


Что конкретно? (можно кратенько выдержку из того что обсуждается?)
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Sockets TCP/IP + Unity

Сообщение Sality 01 дек 2011, 20:39

Я утверждаю что в игре, классы работы с сетью должны быть в отдельном потоке. мой оппонет утверждает что можно все делать в 1 потоке, запустив FixedUpdate() и отправить его проверять буфер сокета приема 30 раз на секунду. Он утверждает что 100 милисекунд достаточно обработать все принятые пакеты, отреагировать на них и если нужно отправить в сокет данные какието
Аватара пользователя
Sality
Старожил
 
Сообщения: 771
Зарегистрирован: 26 ноя 2011, 15:31
Откуда: Украина

Re: Sockets TCP/IP + Unity

Сообщение gnoblin 01 дек 2011, 22:44

Я утверждаю только то,
что получив каким-то способом по сети данные об игровом состоянии 10-30 раз в секунду - всё будет работать нормально :).
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Sockets TCP/IP + Unity

Сообщение Syberex 02 дек 2011, 00:03

Я вот соглашусь с практически всем, что написал Груберк :) и очень хорошо писал, пока не вспомнил про Led Zeppelin :D

Тоже думаю, что не стоит вводить потоки в код клиента. Ведь это потянет за собой синхронизацию и блокировки, а это усложнит код в разы!
Я уже задавал подобный вопрос про Sockets TCP/IP в Юньке, мне Neodrop объяснил, что из других потоков очень не рекомендуется трогать любые объекты Юнити (это где-то есть в доках Юньки) поэтому другие потоки теряют смысл :(

Да и на самом деле, онлайн игра даже с нажимающимися кнопками, мало что сделают при зависании сети и долгом ожидании пакетов. Кроме как менять картинки на экране, пока игрок ждет ответа сервера, вы не сможете, пустая трата времени и раздувание логики в скриптах ... В итоге упираемся в раннюю оптимизацию! ;) Что не есть кул ...

Так, что лучше взять на вооружение все, что написал Груберк, за что ему отдельное спасибо! \m/
Аватара пользователя
Syberex
Адепт
 
Сообщения: 2292
Зарегистрирован: 14 янв 2011, 20:35
Откуда: Кострома
  • Сайт

Re: Sockets TCP/IP + Unity

Сообщение Sality 02 дек 2011, 00:05

я понял. учту. всем спс.
Аватара пользователя
Sality
Старожил
 
Сообщения: 771
Зарегистрирован: 26 ноя 2011, 15:31
Откуда: Украина

Re: Sockets TCP/IP + Unity

Сообщение Груберк 02 дек 2011, 08:02

Он утверждает что 100 милисекунд достаточно обработать все принятые пакеты, отреагировать на них и если нужно отправить в сокет данные какието


Бр..... 16 миллисекунд хватает, что бы отправить всю сцену эпического падения здания на игрока в Modern Warfare 3 на отработку видеокарте, просчитав физику и логику.
30 миллисекунд хватает, что бы отработать передвижения/выстрелы/попадания 32 игроков Counter Strike Source на сервере
100 миллисекунд для компьютера почти вечность... А с учетом того, что задержка сети (пинг) в реальных условиях крутится около 100 мс, то смысл проверять буфер чаще? :)

Нужно прежде всего отталкиваться от тех "тормозов", которые вам никак не побороть: скорость рендера видеокарты, задержка сети и т.п. Даже если вы оптимизируете всю игру, то все-равно упретесь в эти "тормоза". И пусть у вас 2 процессора и один занимается работой с рендер-системой, а другой с логикой игры, то даже считайте вы логику хоть 1 000 000, но отобразится она столько раз, сколько успеет видеокарта. Все остальные лишние просчеты только повысят энтропию вселенной, температуру в комнате и заставит лагать музыкальный плеер пользователя.

Будут еще сомнения - обращайтесь.
Груберк
UNIт
 
Сообщения: 133
Зарегистрирован: 05 июл 2011, 13:26

Пред.

Вернуться в Сеть

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5