Anonim

Ας το αντιμετωπίσουμε: Τα DirectX 11 και OpenGL γίνονται λίγο παλιά. Το DirectX 11 εισήχθη με τα Windows 7 το 2009 και το OpenGL 4.0 ακολούθησε ένα χρόνο αργότερα. Σε χρόνια λογισμικού, αυτές οι τεχνολογίες είναι τώρα αρχαίες και η τρέχουσα καλλιέργεια υλικού που τρέχουν δεν ήταν καν στο σχεδιαστήριο όταν κυκλοφόρησαν αυτά τα API γραφικών. Με δεδομένη αυτή την προφανή αποσύνδεση, τι κάνει η βιομηχανία για να πάρει μαζί με τους καιρούς; Λοιπόν, θα ρίξουμε μια ματιά στο κοντινό μέλλον και θα δούμε, αλλά για να ξεκινήσουμε ας εξηγήσουμε πρώτα τι είναι ένα API και ποια λειτουργία εξυπηρετεί για τυχερά παιχνίδια.

Τι είναι ένα API;

Ένα περιβάλλον API ή προγραμματισμού εφαρμογών είναι ένα σύνολο πρωτοκόλλων και εργαλείων που χρησιμοποιούνται για την κατασκευή λογισμικού. Τα API γραφικών είναι πραγματικά ένα εξειδικευμένο API που έχει σχεδιαστεί για να διευκολύνει τη δημιουργία 3D γραφικών. Τα γραφικά API κάνουν την οικοδόμηση 3D εικόνων ευκολότερη, αλλά σας επιτρέπουν επίσης να πείτε στο API να κάνει κάτι (π.χ. σχεδιάστε ένα ορθογώνιο) και με τη σειρά του αφήστε το API να επικοινωνήσει με το υλικό σχετικά με τον τρόπο ολοκλήρωσης αυτής της εργασίας. Αυτός είναι ο κύριος λόγος για τον οποίο τόσες πολλές διαφορετικές μονάδες GPU με εξειδικευμένο υλικό μπορούν όλοι να τρέξουν τα ίδια παιχνίδια. Χωρίς την ύπαρξη ενός API, το ίδιο παιχνίδι θα πρέπει να γράφεται με διαφορετικούς τρόπους επικοινωνίας με κάθε συγκεκριμένο σύνολο υλικού. Αυτό θα περιορίσει σοβαρά τις κατασκευές υλικού και θα αυξήσει σημαντικά το κόστος κατασκευής παιχνιδιών, ένα κόστος που τελικά θα μεταφερθεί στον τελικό καταναλωτή.

Για να καταστήσω πιο κατανοητή την παραπάνω εξήγηση, θα χρησιμοποιήσω μια αναλογία: Σκεφτείτε ένα API ως διαχειριστή εργοταξίου. Η δουλειά του / της είναι να πάρει την ιδέα του αρχιτέκτονα και να το σπάσει, να προγραμματίσει τι πληρώματα πρέπει να είναι πού και πότε και να εξασφαλίσει ότι όλοι βρίσκονται στην ίδια σελίδα για το τι πρέπει να γίνει.

Εικόνα 1: Γραφική παράσταση του τρόπου με τον οποίο λειτουργεί ένα API

API που χρησιμοποιείται σήμερα για γραφικά

Τώρα που καταλαβαίνουμε τη δουλειά του γραφικού API, αφήνουμε μια πιο προσεκτική ματιά στο τρέχον lineup. Ο σημαντικότερος παίκτης στην αγορά σήμερα είναι το DirectX της Microsoft, το οποίο εισήχθη μέχρι το 1995. Έχει ενημερωθεί αρκετές φορές από την κυκλοφορία του και περιλαμβάνεται στο λειτουργικό σύστημα των Windows της Microsoft. Το DirectX είναι το API γραφικών που θα υποστηρίξει σχεδόν κάθε παιχνίδι που κυκλοφορεί για υπολογιστή. Στην πραγματικότητα, είναι τόσο συνηθισμένο ότι είναι πραγματικά το πρότυπο για το PC gaming σήμερα. Το DirectX είναι αποκλειστικά για προϊόντα των Windows και της Microsoft τα οποία δυστυχώς το καθιστούν ένα πολύ κλειστό σύστημα. Στη συνέχεια στη σειρά είναι το OpenGL, το μόνο μεγάλο API γραφικών ανοιχτού κώδικα. Το OpenGL κυκλοφόρησε το 1992 και είναι πολυ-πλατφόρμα, που σημαίνει ότι λειτουργεί με διάφορα λειτουργικά συστήματα συμπεριλαμβανομένων των Windows, Linux και Mac OS. Τέλος, έχουμε το νεότερο γραφικό API, Mantle. Το Mantle αναπτύχθηκε το 2013 μέσω συνεργασίας μεταξύ της AMD και της Dice. Το Mantle είναι διαθέσιμο στα Windows και μόνο για GPU της AMD.

Εικόνα 2: Σύγκριση του DirectX 12 με το DirectX 11
Πηγή εικόνας Εικόνες Πίστωση: Intel

DirectX 12

Το DirectX 12 πρόκειται να ελευθερωθεί με τα Windows 10 αυτό το φθινόπωρο και πολλές νέες βελτιώσεις προσφέρονται. Μία από τις μεγάλες βελτιώσεις είναι πολύ καλύτερη υποστήριξη πολλαπλών σπειρωμάτων. Περισσότερο από το έργο είναι απλωμένο σε πολλαπλούς πυρήνες της CPU που επιτρέπουν την πολύ καλύτερη και αποδοτικότερη χρήση της CPU. Πολλές φορές, το DirectX 11 θα έχει μόνο έναν πυρήνα της CPU εντελώς ανώτατο, ενώ άλλοι πυρήνες κάθονται κοντά στο ρελαντί. Το DirectX 12 υπόσχεται να κατανείμει αυτό τον φόρτο εργασίας πάνω στους πυρήνες της CPU πιο ομοιόμορφα, δίνοντας στα παιχνίδια πολύ περισσότερη ισχύ CPU για να δουλέψουν. Η επόμενη μεγάλη βελτίωση που υποσχέθηκε το DirectX 12 είναι η δυνατότητα να χειριστεί πολλές ακόμα κλήσεις κλήρωσης. Μια κλήρωση κλήρωσης συμβαίνει οποτεδήποτε ο κινητήρας του παιχνιδιού θέλει να σχεδιάσει κάτι στην οθόνη. Η απαίτηση πολλών κλήσεων κλήσης είναι γενικά πολύ φόρος για τη CPU. Το DirectX 12 πρέπει να είναι σε θέση να χειριστεί μέχρι και 600.000 κλήσεις κλήρωσης. Για να το θέσουμε σε προοπτική, το DirectX 9 θα μπορούσε να χειριστεί μόνο 6, 000 κλήσεις κλήσης ή 1 / 100th από ό, τι το DirectX 12 θα είναι σε θέση να.

Εδώ και χρόνια λειτουργούν πολλαπλές GPU σε λειτουργία SLI / Crossfire. Ωστόσο, ένας από τους μεγάλους περιορισμούς ήταν ότι το VRAM ενσωματωμένο στις κάρτες δεν στοιβάζονταν μαζί για να δημιουργήσουν μια μεγάλη, συνεχή πισίνα. Για παράδειγμα, αν έχετε δύο μονάδες GPU με 2GB VRAM, έχετε ακόμα μόνο 2GB VRAM, επειδή κάθε κάρτα έπρεπε να αποθηκεύσει τις ίδιες πληροφορίες σε αυτήν. Το DirectX 12 ελπίζει να επιλύσει αυτό το πρόβλημα χρησιμοποιώντας AFR ή εναλλακτική απόδοση καρέ. Αντί κάθε GPU που αποδίδει μέρος κάθε πλαισίου, οι GPU θα αντικαταστήσουν τώρα ένα ολόκληρο καρέ το καθένα. Αυτό θα επιτρέψει στο VRAM σε κάθε κάρτα να χρησιμοποιηθεί ανεξάρτητα και ελπίζουμε ότι οι κάρτες με μικρότερες ποσότητες VRAM θα ​​είναι βιώσιμες για τυχερά παιχνίδια για μεγάλο χρονικό διάστημα. Υποτίθεται ότι υπάρχουν πολλά άλλα νέα χαρακτηριστικά που περιλαμβάνονται στο DirectX 12 για να προωθήσουν τα γραφικά παιχνιδιών περισσότερο από ποτέ. Ωστόσο, η Microsoft εξακολουθεί να είναι αρκετά hush hush για το τι αυτά τα νέα χαρακτηριστικά είναι. Ελπίζουμε ότι θα μάθουμε περισσότερα για αυτά σύντομα καθώς η απελευθέρωση του API πλησιάζει.

Σχήμα 3: Το Overhead API DirectX 12 μειώνεται όταν χρησιμοποιείτε CPU πολλαπλών πυρήνων.
Πηγή εικόνας Πιστοποίηση εικόνας: nVidia GeForce

Vulkan

Δεν υπάρχει τόσο πολύ γνωστό για το Vulkan όσο αφορά το DirectX 12, όπως μόλις ανακοινώθηκε στο GDC 2015. Αυτό που γνωρίζουμε είναι ότι οι κατασκευαστές του OpenGL, ο Khronos Group, έριξαν το όνομα glNext υπέρ του Vulkan. Το Vulkan φαίνεται να προέρχεται από το Mantle, το οποίο ανέφερα προηγουμένως στο άρθρο. Επιπλέον, φαίνεται ότι η AMD φέρνει τα καλύτερα μέρη του Mantle στο τραπέζι για το Vulkan σε συνεργασία με την ομάδα Khronos. Το Vulkan υποτίθεται ότι έχει πολλά από τα ίδια πλεονεκτήματα του DirectX 12, αλλά δεν συνδέεται με μια ενιαία πλατφόρμα όπως τα Windows. Αντίθετα, θα είναι διαθέσιμη σε πολλές διαφορετικές πλατφόρμες, συμπεριλαμβανομένου του Linux και ακόμη και των κινητών συσκευών. Τα προγράμματα οδήγησης Vulkan τόσο για Windows όσο και για Linux θα είναι εντελώς ανοιχτά, σε αντίθεση με το DirectX. Το Vulkan θα βελτιώσει το πολλαπλό σπείρωμα και επομένως θα κάνει πολύ καλύτερη χρήση της ισχύς της CPU που είναι διαθέσιμη σήμερα με την εξάπλωση του φόρτου εργασίας σε πολλαπλούς πυρήνες CPU. Όπως αναφέρθηκε προηγουμένως, η μείωση της φόρτισης της CPU θα επιτρέψει στα GPU να μην μπερδευτούν τόσο εύκολα όσο είναι τώρα. Αυτό θα πρέπει να προσφέρει μια αρκετά σημαντική ώθηση καμπύλης κατά τη διάρκεια των παιχνιδιών. Η πηγή 2, η οποία ανακοινώθηκε πρόσφατα από την Valve, θα είναι η πρώτη νέα μηχανή παιχνιδιών που υποστηρίζει πλήρως το Vulkan, αν και είμαι βέβαιος ότι πολλά άλλα θα ανακοινωθούν στο εγγύς μέλλον. Το Dota 2, ένα παιχνίδι γνωστό για την ένταση CPU, ήταν εκπομπές που τρέχουν στην Source 2 με το νέο API Vulkan χρησιμοποιώντας τα ενσωματωμένα γραφικά της Intel στην CPU. Αυτό είναι κάτι που σίγουρα δεν ήταν επιθυμητό από το DirectX 11, αλλά με το Vulkan το παιχνίδι φαινόταν να διατηρεί ένα λογικό ρυθμό καρέ σε όλη την. Ο Dan Baker, ο οποίος είναι προγραμματιστής για τα παιχνίδια Oxide, μάλιστα έφτασε μέχρι και να πει ότι "μέχρι που οι κατασκευαστές GPU να πάρουν μαζί τους και να κάνουν GPUs δέκα φορές πιο γρήγορα από ό, τι έχουμε τώρα, δεν μπορούμε να μεγιστοποιήσουμε τη CPU". Αυτό είναι καλή είδηση ​​για τους ανθρώπους που τρέχουν πιο αργά CPU ή που έχουν πολλή ιπποδύναμη GPU σήμερα, επειδή αυτό σημαίνει ότι πολύ καλύτερη απόδοση είναι εφικτή στο ίδιο σύνολο υλικού.

Εικόνα 4: Διάγραμμα Εμφάνιση των πλεονεκτημάτων του Vulkan (μειωμένη συμφόρηση στη GPU).
Πηγή εικόνας Image Credit: Χρόνος

Τι σημαίνει αυτό για το μέλλον των τυχερών παιχνιδιών;

Λοιπόν, για μια πολύ καλή στιγμή, η ισχύς GPU αυξάνεται με πολύ ταχύτερο ρυθμό από την ισχύ της CPU. Πριν από πέντε χρόνια η Intel δήλωσε ακόμη ότι ορισμένες μονάδες GPU ήταν 14 φορές πιο γρήγορα από τις δικές τους CPU. Αυτές οι δοκιμές έγιναν χρησιμοποιώντας ένα nVidia GTX 280 έναντι ενός i7 960 Intel CPU - που θεωρείται πλέον σχετικά ξεπερασμένο υλικό. Το χάσμα μεταξύ ενός nVidia GTX Titan X (ή ακόμη και ενός nVidia GTX 980) και της τρέχουσας mainstream CPU powerhouse - της Intel i7-4790k CPU - θα πρέπει να είναι πολύ μεγαλύτερο. Το σημείο που προσπαθώ να κάνω είναι ότι αρχίζουμε να βλέπουμε όλο και περισσότερα παιχνίδια να χτυπούν έναν τοίχο στην απόδοση λόγω της CPU. Ζητήστε από οποιονδήποτε με υψηλό ρυθμό ανανέωσης να ελέγξει πόσο δύσκολο είναι να διατηρήσει 100 + fps με τρέχον CPU σε ορισμένα παιχνίδια. Ειλικρινά, θα γινόταν πιο δύσκολο χωρίς αυτά τα νέα API και την ικανότητά τους να χρησιμοποιούν πιο αποτελεσματικά την ισχύ της CPU. Η εισαγωγή αυτών των νέων API θα μπορούσε να σημαίνει ένα τεράστιο βήμα στην απόδοση για τους περισσότερους ανθρώπους. Επιπλέον, θα επέτρεπε στους προγραμματιστές να κατασκευάσουν πολύ περισσότερα εντατικά παιχνίδια CPU από ό, τι έχουμε τώρα. Για παράδειγμα, φανταστείτε ένα παιχνίδι όπως το Assasins Creed που έχει χιλιάδες NPC στην οθόνη ταυτόχρονα, αλληλεπιδρώντας μεταξύ τους και τον χαρακτήρα σας ενώ είστε σε μια πόλη. Ή παιχνίδια όπως το Star Citizen, όπου χρειάζεστε ένα πολύ ισχυρό CPU για να έχετε οποιοδήποτε σταθερό και αποδεκτό ρυθμό καρέ, ίσως στο εγγύς μέλλον απαιτούν έναν μέσο CPU στην καλύτερη περίπτωση και μια ισχυρή GPU για να διατηρήσετε ένα ωραίο στερεό 60fps.

Τελικά, αυτή είναι μια πολύ συναρπαστική στιγμή για να είναι gamer. Όταν κυκλοφορήσουν αυτά τα νέα API γραφικών, μπορούμε να δούμε το μεγαλύτερο άλμα στην τεχνολογία τυχερών παιχνιδιών σε μεγάλο χρονικό διάστημα. Ας ελπίσουμε απλώς ότι αυτά τα API μπορούν να ανταποκριθούν στη διαφημιστική εκστρατεία που έχουν ήδη δημιουργήσει για τον εαυτό τους.

Νέα γραφικά api και το μέλλον του pc gaming