Яндекс.Метрика

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Есть ли разница между многопоточностью и многоядерностью

  • Многопоточность — это скорее технический термин, который используют в основном эксперты. А многоядерность — более разговорный его вариант, распространённый среди игроков.

На каких параметрах отразится поддержка многопоточной отрисовки

  • Может повыситься частота кадров в секунду — всё зависит от конфигурации вашего ПК. Обратите внимание: не все компьютеры получат прирост производительности или же он может быть едва заметным.

Многопоточная отрисовка будет работать только на компьютерах с процессорами Intel

  • Многопоточная отрисовка будет работать с любыми многоядерными процессорами.

Как будет реализована многопоточность для двухъядерных или одноядерных процессоров

  • Так же, как и для процессоров с 4–8 ядрами. Количество ядер не имеет значения. Но чем их больше, тем лучше мы сможем использовать вычислительные возможности процессора. Если у процессора мало ядер, мы быстрее выжмем из него максимум, но, скорее всего, не сможем загрузить видеокарту на 100%.

Если моя видеокарта загружена на 100%, а процессор только на 30–40%, даст ли многопоточность прирост производительности? И не повредит ли это моей видеокарте

  • В этом случае прироста производительности не будет. Не волнуйтесь, с видеокартой ничего не случится.

Увеличится ли энергопотребление компьютера

  • Наоборот, уменьшится из-за того, что все ядра процессора будут равномерно загружены. В компьютерах с большим количеством ядер эта загрузка не будет доходить даже до 80%.

Будут ли поддерживаться технологии NVIDIA SLI и AMD Crossfire

  • Да, эти технологии будут поддерживаться.

Будут ли поддерживаться технологии Intel Hyper-Threading и AMD SMT

  • Да, все процессоры, поддерживающие эти технологии, будут работать эффективнее.

Что дальше

Внедрение многопоточной отрисовки — важный шаг для дальнейшей работы над 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)

Оцените статью
Добавить комментарий