Juste hier, Intel a publié une mise à jour massive du pilote de ses GPU Arc Alchemist, ce qui a entraîné une augmentation de près de 2 fois le FPS (images par seconde) des titres basés sur DX9. Désormais, selon un rapport de GamingOnLinux, nous savons comment Intel a pu accomplir cette tâche dans certains jeux. Intel a ajouté une autre couche de traduction à son dernier pilote graphique, avec la couche de traduction DXVK de Steam. Il s’agit de la même couche de traduction que Steam utilise dans son API Proton pour traduire les jeux Windows vers Linux (comme nous l’avons vu sur le Pont à vapeur), permettant à Intel de traduire le code DX9 en API Vulkan open source.
Selon le billet de blog d’Intel d’hier, Intel n’utilise apparemment la couche de traduction DXVK que dans certains cas ; son pilote adoptera une approche hybride consistant à utiliser de manière opportuniste une combinaison de techniques d’API qui tirent parti des couches de traduction en utilisant une ou plusieurs implémentations d’API modernes. Par conséquent, Intel n’utilisera pas DXVK pour l’intégralité de son traitement DX9 et n’utilisera DXVK que lorsqu’il peut offrir de meilleures performances par rapport à la technique d’émulation DX12 d’Intel.
Intel n’a jamais déclaré qu’il utilisait DXVK dans son article de blog officiel, mais grâce à Gaming On Linux, nous savons maintenant que la traduction DXVK est ce à quoi Intel fait référence, sur la base d’un document Lisez-moi Intel a publié sur le même sujet. Malheureusement, nous ne savons pas à quel point DXVK est réellement efficace avec l’implémentation d’Intel, mais il doit s’agir d’une solution très efficace pour qu’Intel implémente la couche de traduction dans son dernier pilote.
Les GPU Arc d’Intel – et ses graphiques intégrés Xe associés, ne dispose plus de la prise en charge native de DX9. Au lieu de cela, Intel a choisi de s’appuyer uniquement sur les couches de traduction pour reproduire le rendu natif. Un tel exemple est l’utilisation par Intel de la couche de mappage Microsoft D3D9On12, qui traduit les commandes DX9 en DX12.
La dépendance d’Intel aux couches de traduction n’est peut-être pas idéale, mais elle donne en fait à l’entreprise un raccourci pour obtenir rapidement de bonnes performances GPU DX9. Les couches de traduction permettent à Intel d’utiliser les optimisations DX12 pour les titres DX12 modernes et pour les jeux DX9 plus anciens, ce qui réduit considérablement le temps de développement nécessaire pour optimiser les nouvelles et anciennes API. C’était une décision nécessaire pour Intel, car il lui fallait un moyen de rivaliser avec Nvidia et AMD, qui ont près de vingt ans d’expérience dans le développement de pilotes DX9 pour le matériel GPU discret.
La partie impressionnante de DXVK est qu’Intel n’a plus besoin de s’appuyer sur la couche d’émulation DX12 de Microsoft pour jouer à des jeux DX9 sur Arc. Avec DXVK, Intel peut désormais exécuter des jeux DX9 sur d’autres systèmes d’exploitation tels que Linux, et bénéficier d’avantages de performances supplémentaires qui pourraient ne pas être disponibles dans l’émulateur de Microsoft.