28 дек. 2013 г.

Почему же лагет Battlefield 4?

Мои соображения, ничем не подкрепленные)))
Основано на изучении вот этого видео:
И это не случайно подловленный момент - это происходит постоянно!

Короче в видео видно, что мой клиент получает от сервера информационный пакет (счетчик патронов начинает уменьшаться - идет стрельба), но при этом визуально это никак не отображается! Нет звука выстрела и нет вспышки! А сообщение о смерти врага приходит еще до первой визуализации выстрела!

Ведь если бы вся информация доходила дом меня с задержкой, то и счетчик бы менялся вместе с анимацией. Однако происходит отделении информации от визуализации.

Значит если я бегу и вижу врага, и он вот только поднимает пушку и начинает в меня стрелять, на сервере он уже сделал по мне ну допустим 4-6 выстрелов?! Так чтоль?! Ведь я вижу анимацию с задержкой! Отсюда очень быстрые смерти с любого оружия, даже слабого, будто вас убивают с одного выстрела.

Ведь "смерть" передается сервером вовремя и все остальные данные от вас отбрасываются!
Это проявляется в таком виде - стреляем во врага, видим крест попадания, но после смерти у него 100 здоровья.

Я думаю многие замечали, что после смерти по вам продолжают лететь пули и прочая стрельба, вы не видите первого выстрела, но зато по вам стреляют еще некоторое время после смерти...
Вы когда нибудь поливали огнем трупы солдат после сообщения о его смерти? Конечно же нет! (во всяком случае не постоянно же)))))

Или вот тут есть момент, когда я пропустил врага сбоку и ловлю выстрел сзади, я поворачиваюсь к нему и вижу, что он повернут ко мне СПИНОЙ!!! И я умираю! И только после смерти и еще через несколько выстрелов видно как он поворачивается ко мне лицом!
Очевидно же, что это задержка анимации! Ну как еше это можно объяснить?!

Вы видите как враг поднимается из-за укрытия, но это только у вас! Из-за смещения анимации он уже видит вас неподвижного, потому что вы еще его не увидели и не можете никак отреагировать! Ну а потом уже поздно что-то делать - пакет смерти уже отправлен на ваш клиент.

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

Так вот! Все ругают netcode, типа он плохой... но мы же видим изменение информации - смерть, счетчик... А если все дело в каких то уникальных событиях навроде очереди событий в драйвере или в windows? Там что то происходит очередь переполняется и вынуждена брать только старые пакеты, которые "сверху", вместо свежих внизу.

А что если это не проблема netcode, а проблема самого клиента!? То как он прорисовывает данные! И пока речь идет про кривой сетевой код в игре девелоперы упускают реальное место возникновения проблемы в battlefield 4.exe?

Мне например играть на серверах с пингом 14 вообще не реально! А должно быть наоборот! У меня должна быть самая быстрая свежая информация! На деле только все происходит вообще мгновенно, будто что то и в самом деле переполняет какую то очередь еще быстрее....

Вот такие вот соображения.

Не знаю чем еще объяснить происходящее...
Кто то скажет про криворукость, я же ему отвечу, что он тупой ***ак. Видео говорит само за себя и если мозга не хватает провести самый простой анализ, то о чем с ним говорить.

Комментариев нет:

Отправить комментарий