Jump to content

Многопоточность - вопросы и ответы (RU)


VR

Recommended Posts

  • ED Team

Многопоточность (ЧАВО)
 

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

 

Запуск версии DCS с многопоточностью
Версия ОБ с нашего магазин (eShop DCS):

После следующего обновления Open Beta вы сможете найти новую папку "bin-mt" в основной корневой папке DCS Open Beta, куда вы установили DCS Open Beta. т.е. "D:\Eagle Dynamics\DCS World OpenBeta\". 

Для запуска многопоточной версии перейдите в папку "bin-mt" и запустите из нее DCS.exe. Например, "D:\Eagle Dynamics\DCS World OpenBeta\bin-mt\DCS.exe". 

Для удобства вы можете создать ярлык для "D:\Eagle Dynamics\DCS World OpenBeta\bin-mt\DCS.exe" на рабочем столе. 

Имейте в виду, что ярлык запуска DCS, который автоматически создается на рабочем столе после установки DCS, будет запускать программу обновления DCS, т.е. "D:\Eagle Dynamics\DCS World OpenBeta\bin\DCS_updater.exe". Возможно, вы уже привыкли к процессу, когда вы запускаете DCS, а он проверяет наличие доступных обновлений перед запуском игры. Если вы создадите ярлык для многопоточной версии (т.е. "D:\Eagle Dynamics\DCS World OpenBeta\bin-mt\DCS.exe"), то этот ярлык запустит DCS, и он не будет проверять наличие обновлений перед запуском игры.

 

Для пользователей STEAM (на примере англ. версии):
Используйте опцию Play MT Preview в списке лаунчера Steam для DCS. Чтобы его увидеть сделайте правый щелчок мыши на DCS World Steam Edition in Steam и выберите ИГРАТЬ; должен появиться список с выбором:
steam mt.png

Что такое многопоточность (Multithreading, MT)?

MT - это техника программирования, которая позволяет нескольким процессорным потокам выполняться в контексте одного старшего процесса. Поток - это независимый путь выполнения в программе, и МТ позволяет программе выполнять несколько задач одновременно, повышая ее производительность и скорость реакции. Однако MT также вводит некоторые сложности, такие как синхронизация потоков и совместное использование ресурсов, которыми необходимо тщательно управлять, чтобы избежать таких проблем, как race conditions (гонка потоков) и deadlocks (тупиковые ситуации).
 

Почему сейчас MT доступна только как опция?
Это весьма сложная и трудоёмкая задача для того, чтобы быть способным переделать уже существующий код под многопоточность с одного захода. Мы не идем на такой риск в публичном релизе. Как только мы убедимся, что все полностью работает, тогда и сделаем многопоточную версию основной и единственной. 

Как долго MT будет находится в статусе опции?
Это зависит от результатов тестирования, ваших отзывов и грамотных сообщений об ошибках.


Какое количество потоков может создавать и использовать игра?

Примерно половина P-ядер (P-core, Performace core) выделена для графических нужд. В настоящее время пул рендеринга масштабируется до 16 потоков на P-ядрах (1 ядро = 2 потока). Остальные P-ядра используются основным логическим потоком ИИ, потоками звукового движка и пулом вспомогательных потоков, которые занимают все доступное пространство. Ядра типа E (E-core, Efficient core) используются только пулом потоковых ресурсов, который не имеет ограничений (1 ядро = 1 поток).

Пользователи  VR и обычных мониторов получат одинаковый выигрыш?
MT не зависит от 2D-монитора и VR. И в том, и в другом случае улучшение будет одинаковым. Обратите внимание, что VR в целом более требователен, поэтому традиционно для VR будет нужно более производительное "железо".


Улучшится ли производительность для пользователей со слабыми видеокартами?
К сожалению, MT почти ничем не сможет помочь с производительностью, если у вас узкое звено - это графический процессор (GPU). Это связано с тем, что GPU отвечает за рендеринг и обработку графики и работает независимо от CPU. Поэтому MT не может напрямую улучшить производительность GPU, но он может помочь улучшить общую производительность приложения за счет перераспределения не связанных с GPU задач на отдельные потоки CPU.


У меня мало ядер на CPU. Может ли мне помочь MT?
Многопоточность призвана повысить производительность на процессоре с несколькими ядрами, однако она может не дать значительных преимуществ на старом процессоре с небольшим количеством ядер. Более того, в некоторых случаях это может даже привести к снижению производительности.


Выделенный сервер будет переведен на MT?

В настоящее время выделенный сервер работает в один поток. Работы по переводу на MT будут проведены позднее.

Ранее, я не мог играть на серверах с тяжелыми миссиями. Смогу ли теперь

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

DCS World с MT и без MT потребуют разных обновлений?
Вы можете обновляться обычным образом, как и привыкли делать раньше.


Могут ли клиенты с MT и без МТ находиться на одном сервере одновременно?
Да, пользователи обоих версий могут играть на одном сервере.


Мне надо включать поддержку HT / SMT в БИОС моей материнской платы?
На настоящий момент пользователи с процессорами, обеспечивающими 32 и более потоков должны выключить HT/SMT на своей плате, всем остальным пользователям мы рекомендуем включить эту опцию.


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

 

Известные проблемы MT на момент первичного выпуска в тестирование.

  • Навигатор NS430 не функционирует.
  • Проблемы с экспортом изображений на внешние мониторы.
  • DCS не стартует на системах с процессором имеющим 32 и более потоков (16 P-ядер).
  • Возможны периодические подтормаживания (stuttering).
  • Цветной дисплей ИТ-23 на Ка-50.
  • Supercarrier. Жезлы регулировщиков и стоп линии не видны.
  • Supercarrier: Изображение на мониторе LSO может отсутствовать.
  • Проблемы с изображением на некоторых устройствах VR.
  • Выделенный сервер не стартует автоматически после обновления. Необходимо запускать вручную.
  • При первом запуске возможны искажения текстур в кабине.
  • В однопоточном режиме активация опции "Размытие в движении" вызывает эффект синего и черного "тумана".
  • Не видны всплывающие подсказки на органах управления в кабине.
  • СПО (RWR) не реагирует на излучения в некоторых случаях.
  • Проблемы с межсамолётной связью (даталинк) на модулях из комплекта "Горячие скалы".

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

Что делать, если я не заметил повышения производительности от MT?

Возможно, что у вас очень производительной процессор и вы запускаете несложную миссию – в этом случае, ваш процессор и без MT прекрасно справляется с задачей, и у вас почти не будет разницы.  Однако если вы заметили, что не получили разницы в производительности в насыщенных миссиях напишите об этом на форуме,  приложив dcs.log, информацию dxdiag, и игровые треки в специализированной ветке форума по производительности или тут.

 

  • Like 11
  • Thanks 6
Link to comment
Share on other sites

  • Chizh pinned this topic
  • BIGNEWY locked this topic
  • ED Team

Как поступить, если MT DCS крэшит при запуске, а лог пустой

Если при запуске многопоточной версии DCS World он не стартует или крэшит, и при этом файл dcs.log почти пустой и вам нечего приложить к сообщению об ошибке, сделайте следующее для сбора доп. информации о процессоре:
1. добавьте файл mt.lua в пользовательскую папку Saved Games\DCS\Config
2. запустите DCS.exe
3. приложите получившийся dcs.log из папки Saved Games\DCS\Logs к сообщению об ошибке на форуме.
4. удалите mt.lua

mt.lua

  • Like 2
  • Thanks 3

smallCATPILOT.PNG.04bbece1b27ff1b2c193b174ec410fc0.PNG

Forum rules - DCS Crashing? Try this first - Cleanup and Repair - Discord BIGNEWY#8703 - Youtube - Patch Status

Windows 11, NVIDIA MSI RTX 3090, Intel® i9-10900K 3.70GHz, 5.30GHz Turbo, Corsair Hydro Series H150i Pro, 64GB DDR @3200, ASUS ROG Strix Z490-F Gaming, HP Reverb G2

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...