Страница 1 из 1

Поддержка многопоточной отрисовки: ещё один шаг вперёд

СообщениеДобавлено: 30 янв 2019, 16:34
Edrard
Изображение

Вместе с движком Core в игру пришла не только впечатляющая графика, но и возможность оптимизировать производительность, и выжать максимум из каждой видеокарты.

Но на этом мы не остановились.

Краткий обзор

До недавнего времени не было смысла вводить технологию многопоточности: большинство из вас играли на компьютерах с двухъядерными процессорами, при этом основная нагрузка приходилась на одно из них, а на втором была непостоянна (от 40 до 70% в зависимости от конфигурации ПК).

Однако за последние пару лет количество игроков, использующих ПК с четырёх- или шестиядерными процессорами, значительно увеличилось. И эта тенденция только усиливается. Сегодня у 60% танкистов компьютеры с четырёхъядерными процессорами.

Тщательно проанализировав статистику, мы поняли: пришло время реализовать в World of Tanks важную технологическую возможность — полноценную поддержку многопоточной отрисовки, разработанную в сотрудничестве с компанией Intel. Но, чтобы это сделать, нам нужно было «научить» движок выполнять расчёты не поочерёдно, а одновременно на всех доступных ядрах.

⇑ Без поддержки многопоточной отрисовки

⇑ С поддержкой многопоточной отрисовки

Сложная, но интересная задача

Звучит хорошо, но задача непростая. При низких настройках процессор должен обрабатывать много задач отрисовки, однако на высоких настройках их количество значительно повышается. Плюс они неравнозначные: одни рассчитываются быстрее, другие медленнее. Опять же многие задачи зависят друг от друга: прежде чем начать новые вычисления, нужно дождаться результатов предыдущих.

Прирост производительности конкретного ПК будет зависеть от многих факторов, среди которых:

  • версия операционной системы;
  • процессор, материнская плата, видеокарта.

Также нужно понимать, что поддержка многопоточной отрисовки — это не статическая, а динамическая функция, которая на разных настройках графики даёт разный результат.

  • На компьютерах со слабыми процессорами и видеокартами прирост производительности может наблюдаться, но минимальный.
  • Если процессор мощный, а видеокарта слабая, заметного прироста не будет. Видеокарта и без многопоточности уже максимально загружена и не сможет улучшить качество графики.
  • Если процессор многоядерный (четыре и больше ядер), но не очень мощный, а видеокарта производительная, то прирост будет заметным.

Многопоточную отрисовку оценят в том числе те, кто играет в World of Tanks на ноутбуках. Обычно в ноутбуках устанавливают многоядерные процессоры с низкой частотой и поддержкой технологии Turbo Boost. Она увеличивает напряжение на одном ядре, временно повышая его частоту и тем самым повышая его производительность, — и какое-то время для игрока всё выглядит хорошо. А потом случается перегрев и включается троттлинг, то есть принудительно ограничивается быстродействие процессора путём снижения его частоты или пропуска тактов, чтобы защитить его от чрезмерной нагрузки. Показатель FPS падает существенно, и играть становится некомфортно. Сейчас, когда мы можем задействовать три-четыре ядра, но не по максимуму, даже в случае троттлинга FPS падает незначительно. То есть играть будет комфортнее.

Часто задаваемые вопросы

 Читать дальше

Что дальше

Внедрение многопоточной отрисовки — важный шаг для дальнейшей работы над World of Tanks. Это решение позволит нам реализовать многопоточность в других подсистемах игры. Наша главная цель — сделать так, чтобы вы могли наслаждаться прекрасной графикой и динамичным геймплеем, не обновляя компьютер.

Сейчас мы тестируем технологию многопоточности на компьютерах разных конфигураций, и на это уйдёт немало времени. Но мы уже можем сказать, что технология работает стабильно на разных ПК. Посмотрите, какие результаты мы получили на последних тестах!

ВАЖНО:

Все результаты получены в идеальных условиях во время наших внутренних тестов.

⇑ CPU: AMD Athlon 200GE, GPU: Vega 3, RAM: Dual Channel 16Gb DDR-4 2667, 1920X1080 (Minimum)


⇑ CPU: Intel Core i3-6100, GPU: Nvidia GeForce GTX 1060 6Gb, RAM: Single Channel 8Gb DDR-4 2133, 1920X1080 (Ultra)


⇑ CPU: Intel Core i7-3770, GPU: Nvidia GeForce GTX 1070 Ti, RAM: Dual Channel 16Gb DDR3-1600, 1920X1080 (Ultra)


Мы продолжим работать над оптимизацией и улучшать движок Core. Следите за новостями!


Re:

СообщениеДобавлено: 30 янв 2019, 18:00
Ломка
Очень интересно, какой прирост производительности будет в моем случае hp pavilion dv6 envy 7380er Intel i core i7 3610qm nvidea 635m 12gb ОЗУ, на средних 100 фпс сейчас но посадки в кустах иногда бывают

Re:

СообщениеДобавлено: 30 янв 2019, 18:11
Guest
Очень интересно, какой прирост производительности будет в моем случае hp pavilion dv6 envy 7380er Intel i core i7 3610qm nvidea 635m 12gb ОЗУ, на средних 100 фпс сейчас но посадки в кустах иногда бывают

Ракеты будет нервно курить в сторонке

Re: Поддержка многопоточной отрисовки: ещё один шаг вперёд

СообщениеДобавлено: 30 янв 2019, 21:06
roma-0
х.з. что они там делают, но далеко не у всех всё так замечательно, как в статье расписано. Не важно, какая комплектация конкретно моего компа, НО - на игровом сервере у меня стабильно более ста FPS, а на тестовом - 20-30 и фризится и проседает до невозможности играть. Пинг при этом нормальный, то есть не тянет именно комп. Но как же так может быть? Или это оптимизация наоборот? С ухудшением.

Re: Поддержка многопоточной отрисовки: ещё один шаг вперёд

СообщениеДобавлено: 30 янв 2019, 22:58
Душв71
Прочитал несколько раз и пришел к следующему выводу –
1.то есть если у меня компьютер относительно новый, но низкий\средний(с процом интел 4 ядра но до линейки i3,5,7) и на средних выдает 40-60 стабильно, то игра специально тормозить будет?, ну то есть как вин 10, если комп тянет, но средненький (с не самыми новыми компонентами), сама винда перегружает систему ненужными процессами, которые нельзя отключить.
2. причем здесь материнка?, она вообще не влияет на производительность, или как в 1. пункте, раз старая, то игра будет намекать тормозами (специально, а не потому что комп слабый) о том что надо бабла в комп подкинуть?