DCS 多線程相關(guān)問(wèn)題 2023.3.10

為確保文章內(nèi)容準(zhǔn)確,涉及多線程技術(shù)部分,沒(méi)有進(jìn)行翻譯。
多線程啟動(dòng)
DCS官方版本
在DCS Open Beta游戲根目錄下可以找到名為"bin-mt"的文件夾。例如:?"D:\Eagle Dynamics\DCS World OpenBeta\".
啟動(dòng)多線程模式,需要運(yùn)行"bin-mt"文件夾下的DCS.exe文件。例如:"D:\Eagle Dynamics\DCS World OpenBeta\bin-mt\DCS.exe".
為了方便啟動(dòng)游戲,可以將執(zhí)行文件在桌面創(chuàng)建快捷方式。
注意!DCS安裝后會(huì)自動(dòng)在桌面創(chuàng)建DCS運(yùn)行圖標(biāo),該圖標(biāo)路徑例如:"D:\Eagle Dynamics\DCS World OpenBeta\bin\DCS_updater.exe". 該圖標(biāo)運(yùn)行后會(huì)執(zhí)行升級(jí)檢查。你可能已經(jīng)習(xí)慣啟動(dòng)DCS之前進(jìn)行自動(dòng)升級(jí)。如果你使用的運(yùn)行圖標(biāo)是多線程模式,啟動(dòng)游戲之前不會(huì)進(jìn)行自動(dòng)升級(jí)。
Steam版本
在Steam中右鍵DCS World Steam Edition,點(diǎn)擊Play,然后選擇MT Preview模式。


什么是多線程?
MT is a programming technique that allows multiple threads to exist within the context of a single process. A thread is an independent path of execution within a program, and MT allows a program to perform multiple tasks concurrently, improving its performance and responsiveness. However, MT also introduces some complexities, such as thread synchronization and resource sharing, which must be carefully managed to avoid issues such as race conditions and deadlocks.

游戲中可以最多支持多少線程?
About half of P-cores are dedicated for the graphics needs. Currently the rendering pool scales up to 16 threads on P-cores (1 core = 2 threads). The other P-cores are used by the main logic thread, sound engine threads, and the auxiliary thread pool that occupy all available space. E-cores are used only by the resources streaming pool that has no limits (1 core = 1 thread).

為什么現(xiàn)在多線程模式是可選項(xiàng)?
因?yàn)槎嗑€程技術(shù)對(duì)于DCS很復(fù)雜,我們?yōu)榱诉M(jìn)行開(kāi)放測(cè)試,將多線程設(shè)置成可選項(xiàng)。一旦完成測(cè)試并運(yùn)行良好,多線程將被默認(rèn)啟動(dòng)。

多線程模式預(yù)覽體驗(yàn)版會(huì)持續(xù)多久?
取決于我們收到的開(kāi)放測(cè)試結(jié)果和反饋;根據(jù)開(kāi)發(fā)進(jìn)展,我們會(huì)通知玩家。

VR用戶(hù)和顯示器用戶(hù)會(huì)得到相同的游戲性能提升嗎?
目前還不知道。兩類(lèi)用戶(hù)將會(huì)得到相同的游戲性能改善。注意!VR模式通常要求更高。由于較高的渲染占用,VR用戶(hù)會(huì)比顯示器用戶(hù)有較低的FPS性能。

對(duì)于遇到顯卡瓶頸的用戶(hù),多線程會(huì)帶來(lái)性能提升嗎?
如果玩家遇到顯卡瓶頸,多線程帶來(lái)性能改善。這是因?yàn)镚PU負(fù)責(zé)渲染和處理圖像,它是獨(dú)立于CPU運(yùn)行,所以多線程不會(huì)提升顯卡性能,但是會(huì)通過(guò)(offloading non-GPU related tasks to separate CPU threads)提升DCS性能。

如果玩家使用較少核心CPU,多線程模式有什么缺點(diǎn)?(例如老款四核CPU)
雖然多線程模式可以提出多核CPU處理性能,但是它不會(huì)為使用較少核心的CPU用戶(hù)帶來(lái)顯著性能提升。事實(shí)上,在某些情況下,它甚至?xí)?dǎo)致性能下降。

專(zhuān)用服務(wù)器會(huì)使用多線程模式嗎?
目前專(zhuān)用服務(wù)器還是使用單線程,未來(lái)專(zhuān)用服務(wù)端會(huì)使用多線程模式。

玩家可以運(yùn)行服務(wù)器或者之前無(wú)法運(yùn)行的大型任務(wù)嗎?
在大型任務(wù)中,玩家可以得到性能提升,但是任務(wù)設(shè)計(jì)者會(huì)考慮單位數(shù)量。多人游戲中,單位數(shù)量過(guò)多會(huì)導(dǎo)致性能下降。

多線程模式和單線程模式將會(huì)單獨(dú)升級(jí)更新還是同時(shí)升級(jí)更新?
我們使用常規(guī)模式升級(jí)DCS。

多線程和單線程客戶(hù)端用戶(hù)可以加入相同的服務(wù)器嗎?
可以。

玩家需要啟用主板上的HT/SMT功能嗎?
目前,超過(guò)32線程的用戶(hù)需要禁用HT/SMT,對(duì)于其他用戶(hù)我們推薦啟用HT/SMT。

玩家如何反饋多線程模式下的bug?
在官方論壇bugs分區(qū)進(jìn)行反饋。反饋時(shí),請(qǐng)?jiān)跇?biāo)題注明"MT"說(shuō)明你正在使用多線程模式。
https://forum.dcs.world/forum/253-bugs-and-problems/

玩家沒(méi)有得到任何性能提升怎么辦?
如果沒(méi)有得到性能提升,請(qǐng)?jiān)诠俜秸搲蟼髂愕膁cs.log dxdiag和track replay。
https://forum.dcs.world/forum/483-game-performance-bugs/

VR玩家如何啟動(dòng)多線程模式?
官方版本用戶(hù)
在"bin-mt"文件夾下的DCS.exe文件屬性添加啟動(dòng)參數(shù)--force_enable_VR,例如:"C:\DCS Open Beta\bin-mt\DCS.exe" --force_enable_VR?
Steam用戶(hù)
啟動(dòng)時(shí)會(huì)有MT VR選項(xiàng)。