← Tous les articles

OVERLAY · PERFORMANCE

Overlay et performances

Un overlay permet de rajouter de l'affichage par dessus

Deux approches : injecté ou externe

Overlay injecté

Un overlay injecté s’exécute dans le processus du jeu et partage son espace mémoire. Il injecte son rendu dans le pipeline graphique utilisé par celui-ci, généralement autour de la présentation de la swapchain, sans fenêtre transparente séparée à placer au-dessus. Cette architecture a longtemps été privilégiée lorsque la composition de plusieurs fenêtres coûtait davantage.

Avantages

  • Pas de fenêtre externe à synchroniser avec le jeu.
  • Le rendu peut être intégré directement au pipeline d’affichage du jeu.

Limites

  • L’overlay et le jeu partagent le même processus : un crash ou une surcharge peut affecter les deux.
  • L’injection interagit avec le processus du jeu ; elle peut être refusée par l’anti-triche ou incompatible avec certains titres.

Sur les versions modernes de Windows, le Desktop Window Manager est conçu pour composer les fenêtres d’applications. Lorsqu’elles remplissent les conditions nécessaires, les fenêtres externes peuvent aussi bénéficier du Multi-Plane Overlay. Une fenêtre externe n’est donc plus systématiquement synonyme d’un coût de composition important, même si le résultat reste propre à chaque configuration.

Overlay externe

Un overlay externe est une fenêtre indépendante et transparente, affichée au-dessus du jeu. Elle peut être configurée pour laisser les entrées souris et clavier traverser vers le jeu et ne s’exécute pas dans son processus. Si elle ralentit ou s’arrête, le jeu reste dans un processus distinct.

Avantages

  • Isolation du jeu : l’overlay ne partage ni son processus ni son espace mémoire.
  • Pas d’injection dans le jeu, ce qui réduit les problèmes de compatibilité liés à cette technique.

Limites

  • Il faut gérer le placement, la transparence, le focus et le passage des entrées au jeu.
  • Windows doit présenter et composer une fenêtre supplémentaire ; le coût varie selon la configuration et le chemin d’affichage utilisé.

Le rôle du Multi-Plane Overlay (MPO)

Dans le chemin classique, le Desktop Window Manager (DWM) compose les différentes surfaces avant leur affichage. Avec le Multi-Plane Overlay (MPO), certaines surfaces peuvent être confiées à des plans matériels séparés, ce qui évite une partie de cette composition.

Le MPO dépend du GPU, du pilote, de Windows, de l’écran, du format et de la taille des surfaces, ainsi que du mode d’affichage utilisé. Un PC compatible ne garantit donc pas que MPO sera utilisé dans toutes les situations. L’impact reste lié à la configuration et au chemin de présentation actif.

Les informations graphiques de Windows, notamment via dxdiag, permettent de vérifier certaines capacités du système, mais elles ne garantissent pas que MPO est utilisé à un instant donné. PresentMon permet d’observer le chemin de présentation réellement utilisé pendant le jeu.

Dans VoidGlass

VoidGlass est un overlay externe. Lorsque la configuration le permet, Windows et le pilote peuvent présenter sa surface via le Multi-Plane Overlay. Il est basé sur une version adaptée de libGDX, un framework de jeux vidéo. L’idée est de ne redessiner que ce qui change et de ne charger que le nécessaire.

Mesures actuelles — overlay uniquement

Configuration de test

Mesures

Ces mesures viennent de la configuration de test actuelle. Elles sont indicatives, pas une garantie pour chaque PC : le jeu, le GPU, le pilote, Windows et les réglages d’affichage influencent le résultat.

Ces chiffres concernent l’overlay seul. L’enregistreur consomme forcément des ressources supplémentaires pour la capture et l’encodage vidéo ; leur niveau dépend notamment des réglages choisis et du matériel.

Le type d’overlay ne fait pas tout. CPU, GPU et mémoire sont partagés avec le jeu : un overlay, injecté ou externe, peut gêner le jeu s’il fait trop de travail ou consomme trop de mémoire.