3DMark permet désormais de tester les performances de votre machine avec Vulkan
Bientôt sous Linux ?
Le 23 mars 2017 à 14h48
2 min
Logiciel
Logiciel
Alors que plusieurs studios commencent à utiliser Vulkan dans leurs jeux, Futuremark a décidé d'intégrer l'API dans son test d'Overhead. L'occasion de voir comment elle se débrouille dans différentes conditions.
Futuremark vient d'annoncer une mise à jour de 3DMark. Celle-ci n'est pas anodine puisqu'elle apporte une évolution de taille : le support de l'API graphique multiplateformes Vulkan.
Cela passe en fait par une nouvelle version de la scène de test API Overhead qui permet désormais de comparer l'efficacité de DirectX 11, 12 et de Vulkan. Le score est indiqué en nombre de Draw calls, que peut encaisser votre machine en une seconde. Pour cela, un objet est répété des milliers de fois dans une même image de manière incrémentale jusqu'à ce que les performances tombent sous les 30 fps :
Cela devrait aussi permettre d'avoir une meilleure idée des performances de Vulkan en fonction du CPU, du GPU ou même du pilote utilisé. Un bon choix, alors que cette API est de plus en plus utilisée. Pour référence, nous avons relevé les scores suivant avec une machine de test sous Windows 10 (build 1607) et un processeur Ryzen 7 1700, accompagné de 16 Go de DDR4 et d'une Radeon RX 480 Nitro de Sapphire :
- DirectX 11 ST : 1 143 528
- DirectX 11 MT : 1 160 624
- DirectX 12 : 21 562 063
- Vulkan : 18 999 233
Pour faire fonctionner le test API Overhead, 3DMark Advanced est nécessaire, ainsi qu'une machine à jour disposant de 6 Go de mémoire au minimum et d'un GPU compatible avec Vulkan 1.0.
Commentaires (36)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 23/03/2017 à 15h52
C’est dommage que ce test des différentes API ne soit accessible que dans la version payante de 3dMark.
Le 23/03/2017 à 15h56
Un draw calls correspond à une demande au GPU de dessiner. Cette opération prend du temps au CPU selon les API.
Sur Dx11, un draw call est relativement couteux, ce qui fait que les développeurs essaient d’en faire le moins possible en mettant en commun le maximum d’opérations possibles (dessiner tous les objets ayant la même texture en un seul draw call par exemple).
Là où Vulkan et Dx12 sont intéressants, c’est que le cout d’un draw call est fortement réduit.
Donc le bench ne compare pas les performances de Dx11 avec Dx12/Vulkan, il compare juste le cout du draw call. On peut en déduire qu’un draw call coute 21x moins sur Dx12 que sur Dx11 (c’est pas aussi simple, mais ça donne une idée).
Classiquement, si tu dois dessiner 20 fois le même object, sur Dx11, tu vas préparer le GPU pour qu’il dessine les 20000 objets en une seule fois. Sur Dx12/Vulkan, tu peux te permettre de dessiner chaque objet individuellement parce que ça te coutera pas plus cher.
Donc ce n’est pas nécessairement que tu peux afficher plus d’objets, mais il te faut être beaucoup plus malin sur Dx11 quand tu construit tes commandes à envoyer au GPU. Sans compter les cas où tu devras quand même séparer les draw calls.
Le 23/03/2017 à 15h56
Le 23/03/2017 à 16h18
Oui.
Mais en même temps, il faut être malin également pour coder correctement sur D12 et Vulkan…
Le 23/03/2017 à 16h21
" />
Bien entendu. Je n’ai jamais écris de code en Dx12/Vulkan, mais j’imagine bien qu’il y a des nouveautés intéressantes qui ne demande qu’à être exploitée.
Mon point était surtout que Dx12/Vulkan enlève des contraintes pour optimiser les perfs (en contrepartie, j’ai l’impression que ces API laissent plus facilement le développeur faire n’importe quoi).
Le 23/03/2017 à 16h24
Merci pour l’explication !" />
Le 23/03/2017 à 16h34
Intel Core i7 3770
16Go DDR3 2200MHz
nVidia Geforce Titan Black x2 (SLI)
nVidia drivers: 378.78
DirectX 11 ST : 1 684 516DirectX 11 MT : 2 625 404DirectX 12 : 16 882 258Vulkan : 12 636 039
Le SLI doit être inutile dans ce genre de test (n’apporte rien), même si utilisé.
Le 23/03/2017 à 18h57
Merci pour l’explication, j’irai me coucher moins con ce soir. " />
Le 23/03/2017 à 20h27
Le 23/03/2017 à 21h01
Le 23/03/2017 à 21h04
Le 24/03/2017 à 00h49
Pour info, j’ai refait un test:
http://www.3dmark.com/3dm/18806461?
Et j’ai regardé:
Le 24/03/2017 à 03h04
Bizarre, j’ai mieux avec une config en tous points inférieure à part la ram.
http://www.3dmark.com/3dm/18808184?
Le 24/03/2017 à 08h15
Oui, je me suis emporté au départ (d’où l’inconsistance dans mon message que j’ai repris " /> ). Le point est quand même là, tu peux te permettre de faire plus de draw calls qu’avant. Tu noteras quand même que dans le bench on tape des millions de draw calls, ce qui n’est pas représentatif de la réalité " />
Généralement, on est plutôt dans les 10000 max, et on a d’ailleurs vu que les jeux consoles explosaient largement ce nombre (comme Assassin’s creed Unity qui en fait 50000 mettant à mal DirectX11 sur PC)
Le 24/03/2017 à 08h32
Non, regarde ta ram. ^^
Le 24/03/2017 à 09h02
Le 23/03/2017 à 14h54
Pas cool Vulkan moins performant que DX12 :(
Le 23/03/2017 à 14h55
pas de score en DX11 pour qu’on se rendre compte du gap entre DX11, 12 et vulkan ?
Le 23/03/2017 à 14h59
http://www.3dmark.com/3dm/18793229?
Pour ma part.
Le 23/03/2017 à 15h05
Le 23/03/2017 à 15h07
Le 23/03/2017 à 15h09
J’ai rajouté le score ;)
Le 23/03/2017 à 15h15
Du coup chez toi vulkan est meilleur que directx12 si je sais lire ces chiffres (attention, c’est moi qui avais annoncé les 15 millions d’amende de la hadopi la dernière fois, corrigez-moi si c’est faux) ?
Le 23/03/2017 à 15h17
Le 23/03/2017 à 15h22
Je pige pas la différence de draw calls entre DX11 et DX12 : 1 million contre 21 millions " />
DX12 est 21x plus rapide que DX11 ? " />
Le 23/03/2017 à 15h37
Oui, c’est même le principe de DX12 et des API bas niveau de ce genre (dont Metal ou Vulkan)
Le 23/03/2017 à 15h41
Mais, non, DX 12 n’est pas 21 fois plus rapide que DX 11 dans une utilisation classique. Les “Draw call” sont des instruction de correction/modification de l’affichage des graphismes qui permettent d’éviter de calculer des endroits qui ne sont pas affichés (si j’ai bien compris). En tout état de cause ces API permettent surtout aux développeur d’abuser des draw calls ce qu’ils ne pouvaient pas se permettre auparavant, ce qui augmente les performances mais pas d’un facteur de 21x !
Le 23/03/2017 à 15h42
Hmm oui, je sais bien. Mais où ais-je dit le contraire ?
Le 23/03/2017 à 15h47
Donc si je pige tout bien, une API récente comme DX12 ou Vulkan permet “d’afficher”, si les devs font appel à des fonctions spécifiques, plus d’objets dans une scène graphique pour un coût identique ou moindre qu’avec une API plus ancienne ?
Le 24/03/2017 à 09h15
(peux pas edit)
Oh my bad également, j’avais oublié un mot dans mon premier post :
“Comme quoi Nvidia gère mieux l’API Vulkan qu’AMD”
Le 24/03/2017 à 10h21
Le 24/03/2017 à 12h37
Pour ma part : Vulkan>DX12>DX11
https://imgur.com/gallery/UohRs
C’était pareil quand le test Mantle était là
Le Multi-GPU n’est pour le moment pas compatible avec OpenGL/Vulkan, une mise a jour majeure de Vulkan annoncée par le Khronos Group incluera le support du Multi-GPU
Sinon ma config donne ça :
Ryzen R7 [email protected]
MSI Gaming X RX 480 8Gb
16Gb DDR4 Kingston 2400mhz
Le 24/03/2017 à 12h54
Petite question qui peut paraitre stupide, les tests sont réalisés dans quel ordre ? Est-ce qu’il est possible que les Turbo des CPU et GPU puissent affecter les résultats des tests avec un handicap pour le dernier à être lancé ?
Le 24/03/2017 à 14h03
Non mais t’inquiète je me suis re-corrigé derrière, c’est de ma faute j’avais oublié de préciser au départ " />
Le 24/03/2017 à 17h46
Oui mais ça me semble bizarre que quelques mhz sur la ram fassent une telle différence sous Dx12 et Vulkan, même si ça doit être des appels bas niveau etc. Après je croyais qu’il y avait 11GB de Vram sur la 1080 mais en fait non, y en a 8 comme sur la 1070.
Le 24/03/2017 à 20h05
Ben le but de Vulkan et DX12 s’est de libéré de la puissance CPU.
Ma PC12800 (12,8go/s) est quand même bien inférieur à ta PC17100 (17,1go/s) puisque je lui rend presque 5 go de donnée à la seconde.
Sinon oui, GTX 1080 c’est bien 8Go de Vram.