Multithreading
Compte-rendu sur l’avancée du développement
Jusqu'à présent, DCS attribuait la majeure partie de sa charge de calcul à un seul fil d’exécution (certains composants audio ont été déplacés vers un fil d’exécution séparé). Cela ne posait pas de problème dans la plupart des cas, car le processeur graphique (GPU) effectuait la majeure partie du travail, et le nombre d’images par seconde étaient principalement limitées par les performances du processeur graphique.
Avec l'évolution de DCS, les processeurs graphiques sont devenus beaucoup plus puissants, tandis que les performances d'un cœur-processeur sont restées pratiquement inchangées. Au lieu de cela, les fabricants de processeurs ont augmenté le nombre de cœurs plutôt que la vitesse d'horloge des cœurs individuels. En conséquence, les performances de DCS sont maintenant souvent limitées par le processeur. En parallèle, le monde de DCS est devenu beaucoup plus complexe, avec une dépendance accrue aux calculs processeur, ce qui n’a fait qu’empirer la chose.
Pour améliorer l'efficacité de l'utilisation des ressources processeur, nous avons retravaillé le cœur de notre moteur. Tout d'abord, au niveau architectural, il a été divisé en deux fils d’exécution principaux : l’un graphique et l’autre logique. Cela ouvre de nouvelles possibilités de parallélisation des calculs dans les parties logiques et graphiques du moteur, de manière indépendante.
Deuxièmement, pour répondre aux exigences du multithreading évolutif et aux besoins des Interface de programmation graphiques modernes, la partie graphique du moteur a été considérablement améliorée. En outre, de nombreux sous-systèmes ont été mis à jour, ou entièrement réécrits.
Les tests en interne ont débuté, et nous prévoyons de publier le nouveau moteur graphique de DCS (EDGE) l'année prochaine. La version initiale du support multithreading contiendra un moteur entièrement retravaillé, y compris la préparation de la trame graphique et la séparation des parties graphique et logique sur deux fils d’execution indépendants.
Il convient également de noter que les améliorations de performances les plus significatives concerneront les missions de grande envergure. Ce changement sera le bienvenu, surtout en jeu en réseau où le nombre d'unités est généralement beaucoup plus élevé. Les performances en réalité virtuelle dans le cadre de grandes missions connaîtront également une amélioration significative.
Restez à l'écoute pour les prochaines évolutions.
|