Форум - yaigrovoy.ru
Battlefield 4 => Новости BF4 => Тема начата: Piston73 от 24-12-2013, 10:23:16
-
- Один из разработчиков Battlefield 4 под ником HonK_sWeMoB разъяснил читателям шведского портала fz.se причину часто наблюдаемых зависаний и «вылетов» Battlefield 4.
По словам разработчика, не раскрывшего своего настоящего имени, проблема заключается в серъезной программной разнице между построенном на Frostbite 2 Battlefield 3 и Battlefield 4, который создан на следующей версии движка. Стремление «выжать» максимум производительности из современного железа — многоядерных процессоров и консолей нового поколения — привело к зависимости программного кода от многопоточности и процессорного времени.
«Когда код, не рассчитанный на один поток, исполняется множеством обработчиков, зависнет он или будет работать — зависит от множества совпадений. Код становится зависимым от процессорного времени — а у различного железа с различными фоновыми процессами процессорное время разное», пишет HonK_sWeMoB.
Для лучшего понимания проблемы «процессорного времени» EAshooters обратились за комментарием к экс-дизайнеру Battlefield 4, который описал это понятие так:
«Допустим, вам нужно, чтобы «код X» выполнился параллельно «коду Y». Они выполняются на разных процессорах и не потоково-безопасны. Возможен вариант, когда выполнение «кода X» задерживается из-за занятости процессора, а «код Y» выполняется в срок. Таким образом, функция, которая ожидает получения двух этих кодов, не в состоянии выполниться — а это может привести к вылету, зависанию, делению на ноль и черт знает чему еще».
HonK_sWeMoB добавляет: «в нашей рабочей среде установлены практически одинаковые компьютеры, достаточно сложно учесть все возможные вариации распределения процессорного времени».
Разработчик утверждает, что команда Battlefield 4 не была готова ко всем проявившимся проблемам с Battlefield 4. По его словам, никто в DICE или EA не говорил «Пошло оно всё, давайте выпускать игру как есть». HonK_sWeMoB уверяет, что студия «напряженно работает над разрешением оставшихся проблем, многие из которых были устранены в последнем обновлении. Но так как Battlefield 4 сильно зависит от процессорного времени, трудно сказать, как много сложностей нам еще предстоит преодолеть».
«К сожалению, на определенных процессорах, операционных системах с определенными фоновыми программами вероятность „плохого тайминга“ больше, чем на остальных системах. Из-за этого на них и возникают зависания, вылеты игры и прочие ошибки», поясняет HonK_sWeMoB.
Разработчик подчеркивает, что несмотря на все усилия DICE по исправлению игры, найти общий источник всех проблем достаточно сложно: Battlefield 4 состоит из миллионов строк кода. Он надеется, что благодаря этому разъяснению игроки поймут природу большинства проблем с Battlefield 4 и наберутся терпения, пока разработчики найдут решение.
Ранее сообщалось, что DICE опубликовали открытый трекер проблем с Battlefield 4 в форумах Battlelog.
-
Ну это вообще бред, люди которые разрабатывают игры уже более 10 лет не могут обеспечить синхронизацию потоков в своих приложениях? :)
Дешевая лапша.
-
Ну это вообще бред, люди которые разрабатывают игры уже более 10 лет не могут обеспечить синхронизацию потоков в своих приложениях? :)
Дешевая лапша.
однозначно...
-
Ага. Это не у них хреново слеплено,а у нас неправильные компьютеры ;D . Хотяяя,вылетов действительно поменьше стало