Apple Metal API: ποιο είναι το κόλπο; Σύγχρονα γραφικά API.

Παιδικά προϊόντα 24.05.2019
Επισκόπηση προγράμματος Η έκδοση υπολογιστή του Microsoft Excel Viewer θα επιτρέψει...

Chercher

Παιδικά προϊόντα AMD Mantle | Βασικά APIχώρισε την κοινότητα των PC gamers σε δύο στρατόπεδα. Υπάρχουν πολλές απόψεις, πληροφορίες, παρανοήσεις και γνωστά γεγονότα, που είναι αρκετά δύσκολο να κατανοηθούν. Θέλουμε να ενώσουμε τα πάντα και να το κάνουμε με τον δικαιότερο δυνατό τρόπο. Δυστυχώς, συζητήστε αυτό το θέμαΕίναι σχεδόν αδύνατο χωρίς τη χρήση «εταιρικής» γλώσσας, οπότε ας ξεκινήσουμε από την αρχή - ας κατανοήσουμε τους ορισμούς, ας προετοιμάσουμε το έδαφος και ας αποφασίσουμε τι και από πού γνωρίζουμε.

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

Η συντομογραφία API σημαίνει διεπαφή προγραμματισμού εφαρμογών.

Ένα εξαιρετικό παράδειγμα είναι η λειτουργία αντιγραφής/επικόλλησης στα Windows. Όταν αντιγράφετε μια παράγραφο κειμένου από ένα πρόγραμμα περιήγησης στο πρόχειρο και στη συνέχεια την επικολλάτε σε ένα πρόγραμμα επεξεργασίας κειμένου, χρησιμοποιείτε λειτουργίες API. Οι προγραμματιστές του προγράμματος περιήγησής σας περιλάμβαναν υποστήριξη για το αίτημα αντιγραφής API και τους προγραμματιστές επεξεργαστής κειμένου– υποστήριξη για αίτηση εισαγωγής API. Αυτά τα δύο προγράμματα επικοινωνούν μεταξύ τους μέσω ενός API.

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

Υπάρχει αρνητική πλευρά; Τα API δεν είναι τόσο αποτελεσματικά όσο ο εξειδικευμένος κώδικας για άμεση επικοινωνία μεταξύ λογισμικού. Το τίμημα της ευκολίας είναι η αυξημένη επιβάρυνση του υλικού και των υπολογιστικών πόρων.

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

Επειδή το API είναι η διεπαφή επικοινωνίας μεταξύ εφαρμογών, το API γραφικών επικοινωνεί μεταξύ της εφαρμογής και του προγράμματος οδήγησης βίντεο του προσαρμογέα γραφικών.

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

Εάν ο κύριος στόχος ενός API είναι η απλότητα και η ευκολία, γιατί υπάρχουν πολλά API;

Η προέλευση του OpenGL βρίσκεται στη διεπαφή Iris GL της SGI, η οποία εμφανίστηκε στις αρχές της δεκαετίας του 1980. Παραδόξως, η εταιρεία το έχει καταστήσει ανοιχτό πρότυπο που ονομάζεται OpenGL API (Open Graphics Library). Παραχωρήθηκε πρόσβαση στους ανταγωνιστές της SGI με την προϋπόθεση της ίσης συμμετοχής στη διατήρηση και την ενημέρωση του κώδικα.

Ακόμη και η Microsoft είχε μια θέση στο OpenGL Architecture Review Board μέχρι το 2003, όταν η εταιρεία άλλαξε τη δική της διεπαφή DirectX, η οποία είναι πλέον πολύ πιο δημοφιλής. Το DirectX χρησιμοποιείται επί του παρόντος σε Windows και Xbox, επομένως είναι εύκολο να δικαιολογήσετε την επιλογή του API της Microsoft εάν ένας προγραμματιστής θέλει να αξιοποιήσει στο έπακρο τους διαθέσιμους πόρους.

Αξίζει να σημειωθεί ότι διάσημος προγραμματιστήςκαι ο προγραμματιστής John Carmack απέδειξε ότι το OpenGL μπορεί ακόμα να χρησιμοποιηθεί για την εκτέλεση σύγχρονων παιχνιδιών υπολογιστή (όπως το Rage). Επιπλέον, η OpenGL διατηρεί τη θέση της λόγω της υποστήριξής της για πολλαπλές πλατφόρμες: Windows, Mac και Linux. Το Android, το Windows Phone και το iPhone χρησιμοποιούν OpenGL ES (Open GL for Embedded Systems). Καθώς αυξάνεται η δημοτικότητα των παιχνιδιών σε πλατφόρμες για κινητές συσκευές, αυξάνεται και η δημοτικότητα του OpenGL.

Τι συμβαίνει με το DirectX 11 και το OpenGL; Γιατί χρειαζόταν ένα άλλο API γραφικών;

Και τα δύο πρότυπα έχουν σοβαρές διαφορές και φαίνεται παράλογο να εισαχθεί ένα άλλο. Γιατί λοιπόν υφιστάμενα πρότυπαδεν είστε ικανοποιημένοι με τους προγραμματιστές;

Τόσο το DirectX όσο και το OpenGL δημιουργήθηκαν την τελευταία χιλιετία, δηλαδή πριν από την έλευση του επεξεργαστές πολλαπλών πυρήνων V μαζικά διαλύματα. ΠρόσφαταΟρισμένοι προγραμματιστές έχουν προτείνει ότι αυτά τα API χρησιμοποιούν πάρα πολλούς πόρους, είναι επιρρεπή σε αστάθεια και κλιμακώνονται ελάχιστα (ή καθόλου) σε παράλληλες πλατφόρμες. Επιπλέον, κανένα API δεν μπορεί να ονομαστεί τέλειο. Χρειάστηκε ποτέ να ενημερώσετε το πρόγραμμα οδήγησης βίντεο για να λειτουργήσει σωστά ένα παιχνίδι; Εάν ναι, τότε αυτό σημαίνει ότι το API γραφικών δεν μπόρεσε να εκτελέσει τη λειτουργία του επιπέδου αφαίρεσης.

Επιπλέον, υπήρχαν φήμες ότι η Microsoft επρόκειτο να σταματήσει την ανάπτυξη του DirectX το 2013. Σε μια συνέντευξη με τον αντιπρόεδρο της AMD, Roy Taylor, ειπώθηκε ότι "το νέο αναγκάζει τη βιομηχανία προς τα εμπρός και οι νέες κάρτες βίντεο χρειάζονται περισσότερους επεξεργαστές και μνήμη RAM. Αλλά το DirectX 12 δεν εμφανίστηκε. Αυτό είναι όλο. Από όσο γνωρίζουμε , Δεν υπάρχουν ακόμη σχέδια για το DirectX 12." Επιπλέον, από διέρρευσε το email της MicrosoftΓνωρίζουμε ότι το περιβάλλον ανάπτυξης πολλαπλών πλατφορμών XNA Game Studio δεν βρίσκεται επί του παρόντος υπό ενεργό ανάπτυξη και η ανάπτυξη του DirectX ως τεχνολογίας έχει ολοκληρωθεί. Η Microsoft ανακάλεσε αργότερα αυτούς τους ισχυρισμούς και ισχυρίστηκε ότι επρόκειτο για παρεξήγηση, αλλά χωρίς δημοσιευμένα σχέδια για το DirectX 12, η ​​κοινότητα των προγραμματιστών ανησύχησε.

Η AMD ισχυρίζεται ότι ήρθε να αναπτύξει ένα νέο API που θα πρέπει να λύσει υπάρχοντα προβλήματα με το DirectX και το OpenGL που προκαλούν δυσαρέσκεια στους προγραμματιστές. Με τις APU και GPU της AMD να τροφοδοτούν το Xbox One, το PlayStation 4 και πολλούς υπολογιστές, η εταιρεία αναγκάζεται να προσφέρει ένα API που μπορεί να χρησιμοποιηθεί σε πολλές πλατφόρμες.

Υποτιθέμενες βελτιώσεις στο Mantle σε σχέση με το OpenGL και το DirectX

AMD Mantle | Βασικά APIσυνδέεται με την έννοια του «χαμηλού επιπέδου». Τι σημαίνει όμως; Εν ολίγοις, είναι συνώνυμο του μινιμαλισμού. Το API είναι μικρότερο, απλούστερο και επομένως ταχύτερο από το DirectX 11 και το OpenGL. Το νέο API της AMD υποτίθεται ότι θέτει λιγότερους περιορισμούς στην απόδοση μιας συγκεκριμένης σκηνής. Με αυτόν τον τρόπο, ο προγραμματιστής, όχι το API, αποκτά τον έλεγχο των πόρων, γεγονός που οδηγεί σε μεγαλύτερη βελτιστοποίηση.

Από αυτή την άποψη AMD Mantle | Βασικά APIμπορεί να είναι πιο αποτελεσματική διεπαφή. Εκτός, AMD Mantle | Βασικά APIμε δυνατότητα πλήρως παράλληλης απόδοσης για τη διαίρεση εργασιών μεταξύ πολλαπλών μονάδων εκτέλεσης CPU. Εάν το API μπορεί να χρησιμοποιήσει αποτελεσματικά μεγαλύτερο όγκουπολογιστικούς πόρους, λοιπόν αργούς επεξεργαστέςμε πολλαπλές μονάδες εκτέλεσης δεν θα έχει τόσο αρνητική επίδραση στην απόδοση.

Με απλά λόγια, η AMD ισχυρίζεται ότι AMD Mantle | Βασικά APIΜπορεί ενδεχομένως να βελτιώσει την απόδοση συστημάτων με αργούς επεξεργαστές πολλαπλών πυρήνων. Και όπου η CPU δεν είναι εμπόδιο, AMD Mantle | Βασικά APIθα είναι σε θέση να μειώσει την κατανάλωση ενέργειας GPU.

Η AMD τοποθετείται ως υποστηρικτής του ανοιχτού κώδικα. Είναι το Mantle ένα API ανοιχτού κώδικα;

AMD Mantle | Βασικά APIδεν είναι ανοιχτό πρότυπο και η AMD λέει ότι δεν θα γίνει στο μέλλον. Ωστόσο, εκπρόσωποι της εταιρείας λένε ότι το SDK AMD Mantle | Βασικά APIθα είναι διαθέσιμο σε όλους μέχρι το τέλος του 2014 χωρίς τέλη αδειοδότησης ή περιορισμούς όταν λήξει η κλειστή beta.

Θα πρέπει να είναι σαφές ότι η πρόσβαση στο SDK δεν είναι ίδια με τον ανοιχτό κώδικα. Ωστόσο, θεωρητικά, η Nvidia και η Intel θα μπορούσαν να γράψουν κάτι συμβατό με AMD Mantle | Βασικά APIοδηγός. Ωστόσο, στην πραγματικότητα αυτό μας φαίνεται απίθανο. Αλλά είναι καλύτερα να αποθηκεύσετε την ανάλυση για το συμπέρασμα. Το γεγονός είναι ότι η AMD θέλει να διατηρήσει τον έλεγχο AMD Mantle | Βασικά API, για να βελτιστοποιήσει το API για την αρχιτεκτονική GCN και να επιτρέψει στους προγραμματιστές να υιοθετήσουν πιο γρήγορα νέες δυνατότητες υλικού που δεν είναι πρακτικές για κοινά API όπως το DirectX και το OpenGL.

Καλύψαμε τα βασικά του Mantle. Τι ακολουθεί;

Θέλουμε να δοκιμάσουμε το API AMD Mantle | Βασικά APIκαι να αναλύσει τις δυνατότητες της διεπαφής. Η AMD βρίζειότι αρκετοί προγραμματιστές εργάζονται για την υποστήριξη AMD Mantle | Βασικά APIσε παιχνίδια όπως το Civilization: Beyond Earth, το Star Citizen και το Dragon Age: Inquisition. Τη στιγμή της γραφής, μόνο τρία παιχνίδια στην αγορά υποστηρίζουν το API της AMD: Πεδίο μάχης 4 , Κλέφτηςκαι Φυτά vs. Zombies: Garden Warfare. Από το παιχνίδι Plants vs. Το Zombies: Garden Warfare δεν έχει λειτουργία δοκιμής AMD Mantle | Βασικά APIκαι χρησιμοποιεί τον κινητήρα Frostbite που χρησιμοποιείται σε Πεδίο μάχης 4, θα δοκιμάσουμε τα δύο πρώτα παιχνίδια.

AMD Mantle | Πώς δοκιμάσαμε το Mantle API της AMD

Μπορεί να υποτεθεί ότι ο κύριος στόχος AMD Mantle | Βασικά API– συμπίεση της μέγιστης απόδοσης από τις κάρτες γραφικών Radeon. Κατ' αρχήν, αυτό είναι αλήθεια. Αλλά είναι σημαντικό να θυμάστε ότι το πρόβλημα που υποτίθεται ότι επιλύει η διεπαφή AMD Mantle | Βασικά API, δεν σχετίζεται πλήρως με γραφικά. Κατά, AMD Mantle | Βασικά APIθα πρέπει να διορθώσει τις ελλείψεις απόδοσης που εμποδίζουν την κατανομή των φορτίων της CPU.

Στην καλύτερη περίπτωση λοιπόν AMD Mantle | Βασικά APIεξαλείφει τα τυπικά σημεία συμφόρησης κατά τη χρήση επεξεργαστές προϋπολογισμού(για παράδειγμα, που παράγεται από την AMD). Για παράδειγμα, εδώ είναι το ακόλουθο σενάριο: με Κάρτα βίντεο DirectXΤο Radeon μπορεί να προσφέρει υψηλότερη απόδοση όταν συνδυάζεται με έναν επεξεργαστή από την οικογένεια Intel Core i7 παρά με FX-4170. Αν AMD Mantle | Βασικά APIλειτουργεί όπως προβλέπεται, μπορείτε να περιμένετε ότι με FX-4170Οι επιδόσεις θα αυξηθούν και θα πλησιάσουν το επίπεδο του Core i7. Είναι απίθανο η ταχύτητα του Core i7 να αυξηθεί αισθητά, αφού ο επεξεργαστής είναι ήδη αρκετά γρήγορος ώστε να καλύπτει τις ελλείψεις του DirectX.

Για να το δοκιμάσουμε αυτό, χρησιμοποιούμε ένα ευρύ φάσμα πλατφορμών και καρτών βίντεο (η λίστα δίνεται στον παρακάτω πίνακα). Όλες οι κάρτες γραφικών Radeon ελέγχονται σε λειτουργία DirectX και AMD Mantle | Βασικά APIνα εντοπίσει διαφορές. Προσθέσαμε επίσης κάρτες GeForce στην επιλογή για σύγκριση.

Συνήθως χρησιμοποιούμε Fraps ή FCAT για να λάβουμε βαθμολογίες τεστ. Και οι δύο λύσεις έχουν σχεδιαστεί για DirectX και επομένως δεν εκτελούνται AMD Mantle | Βασικά API. Ως αποτέλεσμα, έπρεπε να χρησιμοποιήσουμε ενσωματωμένο δοκιμαστικά βοηθητικά προγράμματα, που συνοδεύονται από παιχνίδια ΚλέφτηςΚαι Πεδίο μάχης 4. Ευτυχώς, κονσόλα εντολώνΜηχανή κρυοπαγήματος Πεδίο μάχης 4αρκετά ισχυρό και σας επιτρέπει να λαμβάνετε λεπτομερή δεδομένα σχετικά με τις διακυμάνσεις του χρόνου παράδοσης καρέ. Σε περίπτωση ΚλέφτηςΜπορούμε να λάβουμε δείκτες ρυθμού καρέ μόνο από το βοηθητικό πρόγραμμα που περιλαμβάνεται στο παιχνίδι, αλλά οι δείκτες διακύμανσης του ρυθμού καρέ δεν είναι διαθέσιμες.

Θα δείτε αργότερα ότι για αυτήν την εξειδικευμένη δοκιμή θα χρειαστούμε μια κάρτα γραφικών μεσαίας κατηγορίας με 4 GB μνήμης. Για αυτούς τους σκοπούς μας έστειλε η MSI Radeon R9 270X Gaming 4G, εξοπλισμένο με ψυγείο Twin Frozr IV και τρεις τρόπους λειτουργίας: "αθόρυβο" (1050 MHz), "gaming" (1080 MHz) και "υπερχρονισμένο" (1120 MHz).

Οι κάρτες γραφικών προηγμένης τεχνολογίας απαιτούν επαρκή ισχύ και η XFX μας έστειλε το τροφοδοτικό με πιστοποίηση 80 PLUS Bronze PRO850W. Το αρθρωτό τροφοδοτικό χρησιμοποιεί μια μονή ράγα +12 V με ρεύμα 70 A. Σύμφωνα με το XFX, αυτό το μοντέλοΠαρέχει έως και 850 W συνεχούς (μη αιχμής) ισχύος στους 50 βαθμούς Κελσίου (ιδιαίτερα υψηλότερη από τις περισσότερες περιπτώσεις).

Στο εργαστήριό μας έχουμε σχεδόν εξολοθρεύσει πλήρως τα μηχανικά σκληρούς δίσκους, και αντί για αυτά χρησιμοποιούμε δίσκους στερεάς κατάστασης, τα οποία δεν χαρακτηρίζονται από καθυστερήσεις που σχετίζονται με λειτουργίες I/O. Η Samsung έστειλε στα γραφεία μας Δίσκοι της Samsung 840 Pro με 256 GB, επομένως τα χρησιμοποιούμε στάνταρ.

Σύστημα FM2+ AM3+ LGA 1155 LGA 1150
Πλακέτα συστήματος ASRock FM2A88X-ITX+, Υποδοχή FM2+ Gigabyte GA-990FXA-UDS, Socket AM3+ Asus P8Z77-V LX, LGA 1155 ASRock Z87 Pro3, LGA 1150
CPU AMD A10-7850K, τετραπύρηνος, 3,7 GHz (4 GHz max Turbo Core) AMD FX-8350, οκτώ πυρήνες, 4 GHz (4,2 GHz max. Turbo Core)
AMD FX-4170, τετραπύρηνος, 4,2 GHz (4,3 GHz max Turbo Core)
Intel Core i3-3220, δύο πυρήνες, Hyper-Threading, 3,3 GHz Intel Core i7-4770K, τετραπύρηνος, Hyper-Threading, 3,5 GHz (3,9 GHz max Turbo Boost)

Μνήμη 8 GB Corsair Vengeance LP (2 x 4 GB) 1600 MT/s, CAS 9-9-9-24-1T
Κάρτες βίντεο GeForce GTX 650 2 GB GDDR5
GeForce GTX 660 2 GB GDDR5
GeForce GTX 780 Ti 3 GB GDDR5
Radeon R7 250X 1GB GDDR5
Radeon R9 270 2 GB GDDR5
Radeon R9 270X 4GB GDDR5
Radeon R9 290X 4GB GDDR5
Αποθήκευση συστήματος Samsung 840 Pro, 256 GB SSD, SATA 6Gb/s
μονάδα ισχύος Πιστοποιητικό XFX PRO850W, 850 W, 80 PLUS
Λογισμικό και προγράμματα οδήγησης
λειτουργικό σύστημα Microsoft Windows 8 Pro x64
DirectX DirectX 11
Προγράμματα οδήγησης βίντεο AMD Catalyst 14.3 Beta (14.4 Beta έδειξε κάποια επιτυχία απόδοσης)
Nvidia GeForce 337.88 WHQL

Αναλυτικές πληροφορίες για τις δοκιμές:

Διαμόρφωση δοκιμής
3D παιχνίδια
Κλέφτης Ενσωματωμένο σημείο αναφοράς
Πεδίο μάχης 4 Το τεστ του ίδιου του THG, 90 δευτερόλεπτα

AMD Mantle | Κλέφτες δοκιμές σε APU και κάρτες γραφικών εισαγωγικού επιπέδου

Ξεκινάμε με την υποστήριξη GPU αρχικού επιπέδου AMD Mantle | Βασικά API, συμπεριλαμβανομένου του ενσωματωμένου επεξεργαστή γραφικών σε APU A10-7850K. Όπως είπαμε ήδη, το παιχνίδι Κλέφτηςδεν καταγράφει διακυμάνσεις στο χρόνο καρέ, επομένως δημοσιεύουμε μόνο τον ρυθμό καρέ.

AMD Mantle | Δοκιμές κλεφτών σε κάρτες γραφικών μεσαίας και προηγμένης τεχνολογίας

Λάβαμε παρόμοιες τιμές αρκετές φορές, αλλά ποτέ δεν μπορέσαμε να βρούμε μια λογική εξήγηση για αυτό το φαινόμενο. Ωστόσο, δεν πρέπει να ξεχνάμε αυτή την τεχνολογία AMD Mantle | Βασικά API, σύμφωνα με την AMD, βρίσκεται ακόμα σε στάδιο beta. Γενικά, AMD Mantle | Βασικά APIβελτιώνει την απόδοση σε σύγκριση με το DirectX.

AMD Mantle | Δοκιμές Battlefield 4 σε ενσωματωμένα γραφικά APU

Με ενσωματωμένο βοηθητικό πρόγραμμα λήψης για τη μέτρηση των διακυμάνσεων του χρόνου καρέ Πεδίο μάχης 4, μπορούμε να πάρουμε λεπτομερείς πληροφορίεςσχετικά με την παραγωγικότητα. Ας ξεκινήσουμε με πολύ χαμηλές προεπιλογές γραφικών σε ανάλυση 1600x900 pixel στην ενσωματωμένη APU A10-7850K .


AMD Mantle | Βασικά APIπαρέχει ελαφρύ πλεονέκτημα, αν και είναι απίθανο να επηρεάσει την απόφαση αγοράς. Ήμασταν πιο έκπληκτοι που η APU μπόρεσε να τραβήξει Πεδίο μάχης 4σε ανάλυση 1600x900 pixel με ρυθμό καρέ τουλάχιστον 30 FPS.


Σε αυτή τη δοκιμή είχαμε μια τέλεια διακύμανση του χρόνου καρέ σύμφωνα με AMD Mantle | Βασικά APIκαι στο DirectX. Είναι πολύ χαμηλά και δεν υπάρχουν κορυφές, επομένως η εικόνα στην οθόνη πρέπει να είναι ομαλή.

AMD Mantle | Δοκιμές Battlefield 4 σε κάρτες γραφικών αρχικού επιπέδου

Τώρα Radeon R7 250XΚαι GeForce GTX 650θα μας δείξει τι μπορούν να κάνουν οι φτηνοί διακριτές κάρτες βίντεο. Για αυτούς, αυξάνουμε το επίπεδο λεπτομέρειας σε υψηλό και αυξάνουμε την ανάλυση στα 1920x1080 pixel.


Στα δύο παραπάνω διαγράμματα μπορείτε να δείτε πολλές γραμμές και ρίγες. Αλλά σε αυτή την περίπτωση βλέπουμε πώς AMD Mantle | Βασικά APIβλάπτει την απόδοση παρά βοηθά.

Επικοινωνήσαμε με την AMD για να κατανοήσουμε τα αποτελέσματα και η εταιρεία μας το είπε Πεδίο μάχης 4υπάρχει ένα ιδιαίτερο πρόβλημα με AMD Mantle | Βασικά API, το οποίο εμφανίζεται σε κάρτες με μνήμη βίντεο μικρότερη από 4 GB. Δοκιμασμένη κάρτα Radeon R7 250Xέχει 1 GB μνήμης. GeForce GTX 650- 2 GB, αν και με AMD Mantle | Βασικά APIδεν είναι συμβατό. Θα αντιμετωπίσουμε αυτό το πρόβλημα σύντομα. Ας δούμε όμως τώρα τις διακυμάνσεις στους χρόνους παράδοσης πλαισίων.


Οι διακυμάνσεις είναι εντός αποδεκτού εύρους. Κανένα από τα φύλλα δεν ξεπέρασε το σημάδι των 3 ms στο 95ο εκατοστημόριο. Υπάρχουν μερικές πιτσιλιές, αλλά είναι μικρές.

AMD Mantle | Δοκιμές Battlefield 4 σε κάρτες γραφικών μεσαίας κατηγορίας

Radeon R9 270Και GeForce GTX 660, εξοπλισμένο με 2 GB μνήμης GDDR5, μας έδωσε την ευκαιρία είτε να διαψεύσουμε είτε να επιβεβαιώσουμε τα λόγια της AMD σχετικά με το πρόβλημα AMD Mantle | Βασικά APIμε κάρτες με μνήμη βίντεο μικρότερη από 4 GB. Εάν αυτό είναι αλήθεια, θα πρέπει να δούμε ξανά το πρόβλημα που εντοπίστηκε νωρίτερα. Για να χωρέσουμε το φορτίο, αυξήσαμε το επίπεδο λεπτομέρειας σε Ultra.


Η πτώση της απόδοσης συνεχίστηκε. Έχουν αλλάξει οι διακυμάνσεις στους χρόνους παράδοσης πλαισίων;


Το jitter διατηρήθηκε σε χαμηλά επίπεδα, αν και ο τραυλισμός ήταν πιο αισθητός όταν ο ρυθμός καρέ έπεσε στα 25 FPS.

AMD Mantle | Δοκιμές Battlefield 4 σε κορυφαίες κάρτες γραφικών

Ήρθε η ώρα για δοκιμή και GeForce GTX 780 Ti. Η κάρτα γραφικών AMD διαθέτει 4 GB VRAM, επομένως θα πρέπει να αποφύγουμε το προαναφερθέν ζήτημα κλιμάκωσης AMD Mantle | Βασικά API. Η ισχύς και των δύο καρτών μας ώθησε να αυξήσουμε την ανάλυση στα 2560x1440 pixel.


Τέλος το API AMD Mantle | Βασικά APIαπό την AMD έδειξε την επιρροή της παρέχοντας στο σύστημα FX-8350μέσος ρυθμός καρέ 51,4 FPS έναντι 45 FPS στο DirectX. Επιπλέον AMD Mantle | Βασικά APIσας φέρνει πιο κοντά στα επίπεδα απόδοσης GeForce GTX 780 Ti(παρά το γεγονός ότι η κάρτα Nvidia είναι πολύ πιο ακριβή).


Όπως και σε άλλες δοκιμές Πεδίο μάχης 4, εμφανίζεται το βοηθητικό πρόγραμμα που είναι ενσωματωμένο στο παιχνίδι για τη μέτρηση των διακυμάνσεων στο χρόνο παράδοσης καρέ υψηλό επίπεδοπαραγωγικότητα.

AMD Mantle | Δοκιμές Battlefield 4: Προβλήματα RAM και ενημερώσεις προγραμμάτων οδήγησης

Όπως αναφέρθηκε παραπάνω, ειδοποιήσαμε την AMD για το πρόβλημα. AMD Mantle | Βασικά APIΜε Πεδίο μάχης 4και μας είπαν ότι υπάρχει ένα εμπόδιο λόγω του οποίου η απόδοση μειώνεται σε κάρτες βίντεο με μνήμη βίντεο μικρότερη από 4 GB AMD Mantle | Βασικά API. Για να μελετήσουμε το πρόβλημα, πήραμε το MSI Radeon R9 270Xμε μνήμη βίντεο 4 GB GDDR5. Θα βοηθήσει; πρόσθετος όγκοςμνήμη για να αντιμετωπίσει τις ελλείψεις;


Αν και η υποβάθμιση της απόδοσης προκάλεσε AMD Mantle | Βασικά APIπροηγουμένως, δεν παρατηρείται πλέον, δεν υπάρχουν ούτε απτά οφέλη.


Βλέπουμε και πάλι πολύ χαμηλές μέσες διακυμάνσεις στους χρόνους παράδοσης καρέ, που σημειώνονται από ξαφνικές αιχμές.

Φαίνεται ότι η μνήμη βίντεο δεν είναι ο μόνος περιοριστικός παράγοντας. Τουλάχιστον σε Πεδίο μάχης 4 AMD Mantle | Βασικά APIεπιδεικνύει πλεονέκτημα έναντι του DirectX σε κάρτες γραφικών υψηλής απόδοσης με μνήμη βίντεο άνω των 4 GB. Η πρόσθετη μνήμη GDDR5 δεν βοηθά Radeon R9 270Xβελτιώστε τα αποτελέσματά σας χρησιμοποιώντας το API της AMD.

Η αναθεώρηση αποδείχθηκε πολύ πλούσια από άποψη σημείων αναφοράς, περιλαμβάνει δοκιμές πολλών καρτών βίντεο σε διάφορες πλατφόρμες. Αρχίσαμε να δημιουργούμε αυτό το υλικό, όταν το νεότερο διαθέσιμο πρόγραμμα οδήγησης ήταν το Catalyst 14.4, αλλά χρησιμοποιούσε το Catalyst 14.3 Beta επειδή υπήρχαν περιπτώσεις όπου το πρόγραμμα οδήγησης 14.4 υποβάθμισε την απόδοση.

Μετά την ολοκλήρωση των δοκιμών, αφιερώσαμε πολύ χρόνο κάνοντας πρόσθετη έρευνα. Συζητήσαμε τα δεδομένα που ελήφθησαν με την AMD. Οι υπάλληλοι της εταιρείας είπαν ότι υπήρχε πρόβλημα με τη μνήμη βίντεο έως και 4 GB. Υπήρχαν μερικά πράγματα που έπρεπε να καταλάβω σχετικά με το API. Γενικότερα, όσο μαζεύαμε υλικό για Πεδίο μάχης 4κυκλοφόρησε μια ενημέρωση με ημερομηνία 3 Ιουνίου και η AMD κυκλοφόρησε το πρόγραμμα οδήγησης Catalyst 14.6 Beta.

Ήταν απαραίτητο να εξασφαλιστεί ότι οι δείκτες απόδοσης AMD Mantle | Βασικά APIπαρέμεινε σχετικό, επομένως πραγματοποιήσαμε αρκετές δοκιμές λαμβάνοντας υπόψη τις ενημερώσεις και διαπιστώσαμε ότι η απόδοση Πεδίο μάχης 4υπό έλεγχο AMD Mantle | Βασικά APIβελτιωμένο σε προσαρμογείς γραφικών με λιγότερη από 4 GB μνήμης βίντεο. Τα κακά νέα είναι ότι ενώ κλείνει το χάσμα, το API της AMD εξακολουθεί να είναι ελαφρώς πιο αργό από το DirectX 11 στους ρυθμούς καρέ. Ακόμη και παρά την ελάχιστη εξάπλωση, AMD Mantle | Βασικά APIδεν παρέχει οφέλη σε κάρτες κάτω από το επίπεδο Radeon R9 290.

Τι μπορεί να εξαχθεί; Οι επιταχυντές γραφικών Radeon με μνήμη μικρότερη από 4 GB δεν λαμβάνουν επιτάχυνση όταν είναι ενεργοποιημένοι AMD Mantle | Βασικά API V Πεδίο μάχης 4. Ωστόσο, με το νέο πρόγραμμα οδήγησης και την ενημερωμένη έκδοση κώδικα παιχνιδιού, η διαφορά γίνεται μικρότερη από ό,τι με το πακέτο 14.3 Beta. Αυτό είναι ένα ενθαρρυντικό αποτέλεσμα καθώς δείχνει ότι η AMD και η DICE εργάζονται στο API. Βλέπουμε όμως επίσης πόσο περισσότερη προσπάθεια θα απαιτηθεί για περαιτέρω βελτίωση. Ελπίζουμε AMD Mantle Radeon R9 270Xμε 4 GB, και παρόλο που η διεπαφή AMD Mantle | Βασικά APIδεν μείωσε την απόδοση, ούτε παρείχε κανένα όφελος. Σύμφωνα με την AMD, το API βρίσκεται επί του παρόντος σε beta ανάπτυξη, επομένως τέτοιες ανωμαλίες είναι αρκετά πιθανές.

Σε κάθε περίπτωση, λαμβάνοντας υπόψη τις περισσότερες δοκιμές μας και τις δηλώσεις του προγραμματιστή, γίνεται σαφές ότι AMD Mantle | Βασικά APIπροσφέρει ορισμένα πλεονεκτήματα σε σχέση με το DirectX 11. Δεν έχουμε παιχνίδια που βασίζονται σε OpenGL για σύγκριση, αλλά αναφέρεται ότι και τα δύο API γραφικών έχουν περιορισμούς σε σύγκριση με AMD Mantle | Βασικά API. Τι σημαίνει αυτό για τους λάτρεις των Η/Υ;

Βραχυπρόθεσμα και μεσοπρόθεσμα AMD Mantle | Βασικά APIθα είναι σε θέση να παρέχει κέρδη απόδοσης στους κατόχους καρτών Radeon που βασίζονται στην αρχιτεκτονική GCN σε έναν μικρό αριθμό βιντεοπαιχνιδιών. Η αύξηση θα είναι ελάχιστη σε πλατφόρμες με επεξεργαστές επίπεδο Intel Core i7. Αλλά σε συστήματα με φθηνούς επεξεργαστές όπως π.χ FX-4170, APU A10 και Athlon X4, η αύξηση της ταχύτητας θα είναι πολύ πιο εκφραστική.

Τον επόμενο μήνα μια λίστα παιχνιδιών με υποστήριξη AMD Mantle | Βασικά APIθα επεκταθεί, αλλά ακόμα και σε αυτή την περίπτωση θα είναι πολύ μικρό. Οι προγραμματιστές που βρίσκουν το DirectX 11 πολύ περιοριστικό περιβάλλον εργασίας για τον κινητήρα τους μπορούν να επενδύσουν στον κώδικα AMD Mantle | Βασικά API. Φυσικά, επιπλέον εργασίααπαιτεί πρόσθετους πόρους. Προς το παρόν λοιπόν AMD Mantle | Βασικά APIείναι το αντίστοιχο Nvidia PhysX, το οποίο παρέχει πλεονέκτημα σε ορισμένα παιχνίδια.

Ας προχωρήσουμε. Πότε θα κυκλοφορήσει η AMD το SDK; AMD Mantle | Βασικά API, τότε θεωρητικά θα είναι δυνατή η ανάπτυξη συμβατών AMD Mantle | Βασικά APIπρογράμματα οδήγησης από Intel και Nvidia, τα οποία ενδέχεται να προσελκύσουν ανεξάρτητους προγραμματιστές λογισμικού. Αλλά αυτό φαίνεται απίθανο. Δεν έχει νόημα να κολλήσετε το «καρότσι» σας στο «άλογο» του ανταγωνιστή σας. Η Intel φέρεται να έχει ζητήσει πρόσβαση στο SDK AMD Mantle | Βασικά API, αλλά πιθανότατα για σκοπούς εσωτερικού ελέγχου.

Η διαχείριση της AMD αντιμετωπίζει μια δύσκολη επιλογή. Θα υπάρχει χώρος για AMD Mantle | Βασικά APIΠότε θα φτάσει το DirectX 12 με τη δική του μινιμαλιστική προσέγγιση και τη δυνατότητα εκτέλεσης εργασιών απόδοσης ταυτόχρονα σε πολλούς πυρήνες CPU; Φαίνεται αρκετά ξεκάθαρο ότι η Intel και η Nvidia θα δεχτούν Λύση της Microsoft. Πιστεύουμε ότι αν AMD Mantle | Βασικά APIθα έχει καλή συμβατότητα με το DirectX 12, οι προγραμματιστές της Microsoft θα θέλουν να αφιερώσουν το χρόνο τους υποστηρίζοντάς το. Αλλά η AMD αναπόφευκτα θα υποστηρίζει επίσης το DirectX 12, επομένως η εργασία μπορεί να είναι περιττή. Καθώς το DirectX εξαπλώνεται, το κύριο πλεονέκτημα AMD Mantle | Βασικά APIΘα είναι δυνατό να παρέχουμε γρήγορα στους προγραμματιστές οποιεσδήποτε αποκλειστικές δυνατότητες Radeon, όπως το 3dfx Glide.

Σήμερα μιλάμε κυρίως για υπολογιστές, αλλά μην ξεχνάτε τις κονσόλες. Εάν η Microsoft και η Sony εφαρμόσουν AMD Mantle | Βασικά APIστις πλατφόρμες τους, στη συνέχεια, με στοιχεία AMD που χρησιμοποιούν πυρήνες x86 Jaguar, αυτό το API θα λάβει σχεδόν σίγουρα ισχυρή υποστήριξη από προγραμματιστές. Πολλά παιχνίδια PC μεταφέρονται από εκδόσεις κονσόλας ή αναπτύσσονται ταυτόχρονα με αυτές. Όπως είναι φυσικό, η Microsoft έχει ένα κίνητρο να περιμένει μέχρι να είναι έτοιμο το DirectX 12 Όσο για τη Sony, το PlayStation 4 έχει το δικό του API, το οποίο είναι πιο προηγμένο από το DirectX 11 και το OpenGL. Ο κύριος προγραμματιστής γραφικών DICE, Johan Andersson, είπε ότι το API γραφικών του PS4 είναι αρκετά καλό και AMD Mantle | Βασικά APIστο PS4 δεν το χρειάζονται.

Η θέση του Steambox της Valve είναι ακόμα άγνωστη. Η AMD δεν υποστηρίζει AMD Mantle | Βασικά API V Πρόγραμμα οδήγησης LinuxΩστόσο, η εταιρεία υπαινίσσεται την εφαρμογή υποστήριξης στο μέλλον. Υποθέτοντας ότι η Valve δημιουργεί μια ιδέα για κερδοφόρα χρήση των APU (δεν το έχουμε δει ακόμα), η ζήτηση για AMD Mantle | Βασικά APIμπορεί να αυξηθεί σε αυτό το περιβάλλον. Ωστόσο, το SteamOS έχει πολύ δρόμο να διανύσει μέχρι να συμβεί αυτό.

Συγχρόνως, AMD Mantle | Βασικά APIαντιπροσωπεύει πραγματικά την καινοτομία. Ακόμα κι αν έχει επισκιαστεί από το DirectX 12, υπάρχει κάθε λόγος να το πιστεύουμε AMD Mantle | Βασικά APIθα ενθαρρύνει τη Microsoft να αναπτύξει την επόμενη γενιά API γραφικών. Είναι σαφές ότι υπάρχει πραγματική ανάγκη και επιθυμία να εξαλειφθούν οι ελλείψεις και οι περιορισμοί των παλαιών API που επηρεάζουν αρνητικά την εμπειρία παιχνιδιού. Φυσικά είναι δύσκολο να προωθηθεί νέο προϊόνστην αγορά, αλλά μέχρι να αρχίσει η AMD να κάνει πιο ορατές κινήσεις σε αυτόν τον κλάδο, είμαστε αναγκασμένοι να το σκεφτούμε AMD Mantle | Βασικά APIΠως πρόσθετη λειτουργίαόπως το PhysX (φυσικά, όχι σε τεχνικά), αφού δίνει πλεονέκτημα μόνο σε έναν κατασκευαστή σε ορισμένα παιχνίδια.

Την περασμένη εβδομάδα, παρουσιάστηκε το Vulkan API και η AMD και η NVIDIA ανακοίνωσαν ευρεία υποστήριξή του. Η νέα γραφική διεπαφή αναπτύχθηκε από τον Όμιλο Khronos, μια κοινοπραξία που ιδρύθηκε το 2000. Ο Όμιλος Χρόνος είναι υπεύθυνος για την ανάπτυξη και τη διατήρηση ανοιχτών προτύπων στον τομέα της εφαρμογές πολυμέσωνεπί διαφορετικές πλατφόρμεςκαι συσκευές. Η κοινοπραξία υποστηρίζεται από την AMD και την NVIDIA, καθώς και από πολλές άλλες εταιρείες.

Την περασμένη εβδομάδα επικυρώθηκε η τελική έκδοση 1.0 του Vulkan API. Η AMD και η NVIDIA παρουσίασαν τα αντίστοιχα προγράμματα οδήγησης beta. Η AMD κυκλοφόρησε εκ των προτέρων μια έκδοση beta Λογισμικό Radeonακόμα 14 Φεβρουαρίου. Παρουσιάστηκε η NVIDIA Πρόγραμμα οδήγησης GeForce 356.39, το οποίο επίσης επικεντρώνεται στην υποστήριξη του Vulkan API.

Η προσέγγιση του Vulkan API μοιάζει πολύ με το Mantle API. Η ιδέα είναι οι προγραμματιστές να έχουν βαθύτερη πρόσβαση στο υλικό για να αξιοποιήσουν στο έπακρο. Αυτή η προσέγγιση μας επιτρέπει να αποφύγουμε τα υπάρχοντα " συμφόρηση" Από την άλλη πλευρά, οι προγραμματιστές πρέπει να γνωρίζουν ακριβώς τι κάνουν - για παράδειγμα, όταν εργάζονται με τη μνήμη. Η διεπαφή OpenGL δεν είναι τόσο δημοφιλής όσο το DirectX, αλλά σας επιτρέπει να αποσπάσετε περισσότερα.

Το Vulkan API στην έκδοση 1.0 υποστηρίζεται σε Windows 7, Windows 8.1, Windows 10, Android και Linux. Οι προγραμματιστές παιχνιδιών δεν έχουν ανακοινώσει ακόμη υποστήριξη για συγκεκριμένα παιχνίδια, αλλά αξίζει να περιμένουμε το Games Developer Conference, το οποίο θα διεξαχθεί από τις 14 έως τις 18 Μαρτίου στο Σαν Φρανσίσκο. Από τις μηχανές παιχνιδιών, εξακολουθούν να υπάρχουν πληροφορίες για το Source 2, το οποίο ήδη υποστηρίζει το Vulkan API. Η διαδικασία εντοπισμού σφαλμάτων γίνεται ευκολότερη με την υποστήριξη των Valve, LunarG και Codeplay.

Η Αρχή Τάλως

Εντάξει, αλλά ποιο παιχνίδι ή μηχανή υποστηρίζει το Vulkan API; Το Talos Principle αναπτύχθηκε από την Croteam, η οποία ήταν γνωστό ότι υποστηρίζει πολλά API γραφικών στο παρελθόν. Και στην τελευταία επανάληψη, το The Talos Principle δεν αποτελεί εξαίρεση - υποστηρίζει DirectX 9, DirectX 11, OpenGL και τώρα Vulkan. Για το στούντιο ανάπτυξης, το Vulkan είναι ένα δοκιμαστικό μπαλόνι, αν και το Vulkan API είναι διαθέσιμο στην έκδοση 1.0, η υποστήριξη είναι ακόμα σε beta. Οι προγραμματιστές του Croteam πέρασαν περίπου τρεις μήνες προσθέτοντας υποστήριξη. Αλλά η καθολική φύση του API καθιστά δυνατή την εισαγωγή μιας παραλλαγής Linux σύντομα.

Το Vulkan API είναι θεωρητικά συμβατό με πολλές πλατφόρμες - αλλά μέχρι στιγμής δοκιμές και συγκρίσεις μπορούν να πραγματοποιηθούν μόνο στα Windows και αυτό έχει τους περιορισμούς του. Η εφαρμογή είναι ακόμα πολύ πρώιμο στάδιο. Η διαδρομή απόδοσης του DirectX 11 έχει βελτιωθεί εδώ και πολλά χρόνια, επομένως δεν υπάρχει χώρος για βελτιστοποίηση. Εδώ η κατάσταση εξαρτάται περισσότερο από τους προγραμματιστές προγραμμάτων οδήγησης, δηλαδή την AMD και τη NVIDIA. Το The Talos Principle ήταν το πρώτο παιχνίδι που υποστήριξε τον Vulkan. Επομένως, δεν είναι ακόμη δυνατό να γίνει ένα συγκριτικό τεστ για την αξιολόγηση της καλής ή κακής εφαρμογής της υποστήριξης.

Οι νέες τεχνολογίες εφαρμόζονται για πρώτη φορά σε παραδείγματα που προετοιμάζονται από κατασκευαστές. Στην περίπτωση του DirectX 12, η ​​έμφαση δόθηκε στις κλήσεις Draw, η ίδια δοκιμή 3DMark DirectX 12 βασίζεται μόνο στη μέτρηση της απόδοσης των κλήσεων Draw, των παιχνιδιών DirectX 12 όπως Star Wars, προσπαθούν επίσης να χρησιμοποιήσουν παρόμοιο φορτίο. Αλλά το The Talos Principle δεν εξαρτάται τόσο από αυτό υψηλή ταχύτηταΣχεδιάστε την κλήση έτσι ώστε το API χαμηλού επιπέδου να κάνει μεγάλη διαφορά.

Η υποστήριξη για το Vulkan API έκδοση 1.0 βρίσκεται στα αρχικά του στάδια και το ίδιο ισχύει για τα προγράμματα οδήγησης AMD και NVIDIA. Και τα δύο προγράμματα οδήγησης είναι ουσιαστικά εκδόσεις beta, έτσι τα βλέπουν οι κατασκευαστές GPU. Συνήθως δεν υπάρχουν νέες βελτιώσεις απόδοσης ή υποστήριξη για νέες τεχνολογίες, επομένως κάνουμε ένα βήμα πίσω. Αλλά μόλις επιτευχθεί ένα ορισμένο επίπεδο ανάπτυξης, τα προγράμματα οδήγησης και των δύο προγραμματιστών GPU θα έχουν υποστήριξη Vulkan στην τελική έκδοση. Το πότε θα συμβεί αυτό δεν είναι απολύτως σαφές. Αλλά προς το παρόν βασικές εφαρμογέςμην χρησιμοποιείτε το Vulkan και τα παιχνίδια που υποστηρίζουν το API είναι σε beta, έτσι οι προγραμματιστές GPU μπορούν εύκολα να βελτιώσουν τα προγράμματα οδήγησης.

Για δοκιμές, πήραμε το δοκιμαστικό μας σύστημα για κάρτες βίντεο. Οδηγοί Κάρτες γραφικών AMDκαι NVIDIA που έχουμε ήδη περιγράψει παραπάνω. Ρυθμίσαμε τις ρυθμίσεις γραφικών στο μέγιστο επίπεδο, αλλά δοκιμάσαμε και χαμηλές αναλύσεις έως 1.280 x 720 pixel για να αυξήσουμε την απόδοση του Draw Call.

Η δοκιμή Talos Principle - 1,280 x 720 pixel

Η δοκιμή Talos Principle - 2.560 x 1.440 pixel

Η δοκιμή Talos Principle - 3.840 x 2.160 pixel

Όπως μπορείτε να δείτε από τα αποτελέσματα, το Vulkan API δίνει σημαντική αύξηση σε σύγκριση με το OpenGL. Αλλά πριν Απόδοση DirectX 11 το νέο API αποτυγχάνει. Υπάρχουν διάφοροι λόγοι για αυτό. Από τη μια πλευρά, η ανάπτυξη για τη Vulkan βρίσκεται σε πρώιμο στάδιο. Αυτό ισχύει για το ίδιο το API, το πρόγραμμα οδήγησης και παιχνίδια ΤοΑρχή Τάλως. Σε σύγκριση με το OpenGL, η νέα διεπαφή σάς επιτρέπει να ελευθερώσετε ορισμένους πόρους και να αποφύγετε τα σημεία συμφόρησης. Αλλά το DirectX βελτιώνεται εδώ και πολλά χρόνια τρέχον επίπεδο. Σε κάθε περίπτωση, οι δυνατότητες του Vulkan API είναι πολύ καλές.

Αν βουτήξουμε στις λεπτομέρειες, δεν βρήκαμε οπτικές διαφορές μεταξύ του Vulkan API και του DirectX 11. Έτσι η διαδρομή απόδοσης είναι πολύ καλά προσαρμοσμένη. Με την τρέχουσα εφαρμογή του The Talos Principle, οι κάρτες γραφικών με μνήμη 2 GB παρουσιάζουν πτώση της απόδοσης, πιθανώς λόγω της μη αποδοτικότερης εργασίας με τη μνήμη. Όπως το Mantle και το DirectX 12, το Vulkan API μπορεί να έχει πρόσβαση σε πόρους μνήμης σε βαθύτερο επίπεδο - αυτό το γεγονός μπορεί να θεωρηθεί ως πλεονέκτημα, αλλά μπορεί επίσης να γίνει μειονέκτημα εάν οι προγραμματιστές δεν μπορούν να χρησιμοποιήσουν αποτελεσματικά τη μνήμη.

Ήμουν κάπως απογοητευμένος από ένα σφάλμα στο τρέχον πρόγραμμα οδήγησης NVIDIA, λόγω του οποίου έπρεπε να επανεκκινήσω το σύστημα μετά από κάθε δοκιμή. Χωρίς επανεκκίνηση, το παιχνίδι χάλασε. Αν και δεν αντιμετωπίσαμε παρόμοιο σφάλμα με το πρόγραμμα οδήγησης AMD.

Η τρέχουσα εφαρμογή του Vulkan API φαίνεται πολλά υποσχόμενη. Προς το παρόν, δεν θα είναι τόσο σημαντικό για παιχνίδια σε επιτραπέζιους υπολογιστές, καθώς η αγορά DirectX 11 και 12 είναι πολύ μεγάλη και σε σύγκριση με το ίδιο DirectX 12, το κόστος υλοποίησης μπορεί να είναι πολύ υψηλό και οι αποδόσεις πολύ μικρές. Αλλά εάν τα παιχνίδια πρέπει να εκτελούνται σε διαφορετικές πλατφόρμες με διαφορετικές απαιτήσεις υλικού, το Vulkan μπορεί να παίξει σημαντικό ρόλο. Σε κάθε περίπτωση, θα πρέπει να περιμένουμε αντίδραση από τους προγραμματιστές των παιχνιδιών, διαφορετικά καταλήγουμε σε ένα πρόβλημα κότας και αυγού που είναι δύσκολο να ξεφύγουμε.

Το API καθορίζει τη λειτουργικότητα που παρέχει ένα πρόγραμμα (module, βιβλιοθήκη), ενώ το API σας επιτρέπει να αφαιρέσετε το πώς ακριβώς υλοποιείται αυτή η λειτουργικότητα.

Εάν ένα πρόγραμμα (μονάδα, βιβλιοθήκη) θεωρείται ως μαύρο κουτί, τότε το API είναι ένα σύνολο «λαβών» που είναι διαθέσιμες στον χρήστη αυτού του κουτιού, το οποίο μπορεί να στρίψει και να τραβήξει.

Τα στοιχεία λογισμικού αλληλεπιδρούν μεταξύ τους μέσω των API. Σε αυτήν την περίπτωση, τα στοιχεία συνήθως σχηματίζουν μια ιεραρχία - τα στοιχεία υψηλού επιπέδου χρησιμοποιούν το API στοιχείων χαμηλού επιπέδου και αυτά, με τη σειρά τους, χρησιμοποιούν το API στοιχείων ακόμη χαμηλότερου επιπέδου.

Τα πρωτόκολλα μεταφοράς δεδομένων βασίζονται σε αυτήν την αρχή. Το τυπικό πρωτόκολλο Διαδικτύου (μοντέλο δικτύου OSI) περιέχει 7 επίπεδα (από σωματικό επίπεδοπερνώντας πακέτα bit σε πρωτόκολλα εφαρμογών όπως το HTTP και το IMAP). Κάθε επίπεδο χρησιμοποιεί τη λειτουργικότητα του προηγούμενου επιπέδου μεταφοράς δεδομένων και, με τη σειρά του, παρέχει την απαραίτητη λειτουργικότητα στο επόμενο επίπεδο.

Είναι σημαντικό να σημειωθεί ότι η έννοια του πρωτοκόλλου είναι κοντά στην έννοια του API. Και τα δύο είναι αφαιρέσεις λειτουργικότητας, μόνο που στην πρώτη περίπτωση μιλάμε για μεταφορά δεδομένων και στη δεύτερη για κατασκευή εφαρμογών υπολογιστών.

Το API της βιβλιοθήκης συναρτήσεων και κλάσεων περιλαμβάνει μια περιγραφή υπογραφέςΚαι σημασιολογία των συναρτήσεων.

Διεπαφή προγραμματισμού εφαρμογών (API) διεπαφή λογισμικούαλληλεπίδραση μεταξύ συστημάτων, επιτρέποντας:

  • Αποκτήστε πρόσβαση σε επιχειρηματικές υπηρεσίες επιχειρήσεων
  • Ανταλλαγή πληροφοριών μεταξύ συστημάτων και εφαρμογών
  • Απλοποιήστε τις αλληλεπιδράσεις μεταξύ εταιρειών, συνεργατών, προγραμματιστών και πελατών

Ανοίξτε τη στρατηγική API

Η στρατηγική API περιλαμβάνει:

  • Ανάπτυξη επιχειρηματικών προϊόντων με βάση τα υπάρχοντα API
  • Παροχή εσωτερικών υπηρεσιών σε προγραμματιστές
  • Μοντέλα δημιουργίας εσόδων API για τη δημιουργία πολυκαναλικής αλληλεπίδρασης και την αύξηση των κερδών

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

Η αγορά λύσεων ενοποίησης αναπτύσσεται στο πλαίσιο της εξέλιξης των API - από το EDI και το SOAP στο Web 2.0, το οποίο ξεκίνησε την εποχή των δημόσιων API. Ο αριθμός τέτοιων διεπαφών τα επόμενα 3 χρόνια μπορεί να αυξηθεί περισσότερο από 50 φορές και να φτάσει το 1 εκατομμύριο. Αυτό οφείλεται στο omnichannel: τα κανάλια αλληλεπίδρασης με τους πελάτες πρέπει να αλλάξουν μαζί τους. Η συνεχής αύξηση του αριθμού των καταναλωτών και του όγκου των δεδομένων οδήγησε στην εμφάνιση της οικονομίας API, η οποία βοηθά στη δημιουργία καινοτόμων επιχειρηματικών μοντέλων για τη χρήση εταιρικών περιουσιακών στοιχείων και υπηρεσιών που βασίζονται σε ανοιχτές διεπαφές.

Υπογραφή λειτουργίας

Υπογραφή λειτουργίας- μέρος μιας γενικής δήλωσης λειτουργίας που επιτρέπει στους ραδιοτηλεοπτικούς φορείς να προσδιορίζουν τη λειτουργία μεταξύ άλλων. Οι διαφορετικές γλώσσες προγραμματισμού έχουν διαφορετικές ιδέες για την υπογραφή μιας συνάρτησης, η οποία σχετίζεται επίσης στενά με τις δυνατότητες υπερφόρτωσης συναρτήσεων σε αυτές τις γλώσσες.

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

Για παράδειγμα, στη γλώσσα προγραμματισμού C++, μια απλή συνάρτηση προσδιορίζεται μοναδικά από τον μεταγλωττιστή με το όνομά της και την ακολουθία των τύπων των ορισμάτων της, που αποτελεί την υπογραφή της συνάρτησης σε αυτή τη γλώσσα. Εάν μια συνάρτηση είναι μια μέθοδος μιας συγκεκριμένης κλάσης, τότε το όνομα της κλάσης θα συμπεριληφθεί επίσης στην υπογραφή.

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

Για παράδειγμα: για να δείτε τη γραμμή "Hello, world!" χρειάζεται απλώς να δημιουργήσετε ένα έγγραφο HTML με ελάχιστο τίτλο και ένα απλό σώμα που περιέχει αυτή τη γραμμή. Τι συμβαίνει όταν το πρόγραμμα περιήγησης ανοίγει αυτό το έγγραφο; Το πρόγραμμα περιήγησης θα μεταβιβάσει το όνομα αρχείου (ή έναν ήδη ανοιχτό περιγραφικό αρχείου) στη βιβλιοθήκη που επεξεργάζεται έγγραφα HTML, η οποία, με τη σειρά της, χρησιμοποιώντας το API του λειτουργικού συστήματος, θα διαβάσει αυτό το αρχείο και θα κατανοήσει τη δομή του, καλώντας λειτουργίες όπως "εκκαθάριση window", "write Hello, world in the selected font!", κατά τη διάρκεια αυτών των λειτουργιών, η βιβλιοθήκη των γραφικών πρωτόγονων θα επικοινωνήσει με τη βιβλιοθήκη διεπαφής παραθύρου με τα αντίστοιχα αιτήματα και αυτή η βιβλιοθήκη θα επικοινωνήσει με το API του λειτουργικού συστήματος με αιτήματα όπως "βάλε το Η κάρτα γραφικών μου αποθηκεύει αυτό το buffer."

Επιπλέον, σχεδόν σε κάθε επίπεδο υπάρχουν στην πραγματικότητα αρκετά πιθανά εναλλακτικά API. Για παράδειγμα: θα μπορούσαμε να γράψουμε πρωτότυπο έγγραφοΌχι σε HTML, αλλά σε LaTeX θα μπορούσε να χρησιμοποιηθεί οποιοδήποτε πρόγραμμα περιήγησης. Διαφορετικά προγράμματα περιήγησης χρησιμοποιούν γενικά διαφορετικές βιβλιοθήκες HTML και επιπλέον, το όλο θέμα μπορεί (γενικά μιλώντας) να μεταγλωττιστεί χρησιμοποιώντας διαφορετικές πρωτόγονες βιβλιοθήκες και σε διαφορετικά λειτουργικά συστήματα.

Οι κύριες προκλήσεις των υφιστάμενων συστημάτων API πολλαπλών επιπέδων είναι επομένως:

  • Δυσκολία στη μεταφορά του κώδικα προγράμματος από ένα σύστημα API σε άλλο (για παράδειγμα, κατά την αλλαγή του λειτουργικού συστήματος).
  • Απώλεια λειτουργικότητας κατά τη μετάβαση από ένα χαμηλότερο επίπεδο σε ένα υψηλότερο. Σε γενικές γραμμές, κάθε «στρώμα» API δημιουργείται για να διευκολύνει την εκτέλεση ορισμένων τυπικό σετεπιχειρήσεις. Αλλά την ίδια στιγμή, γίνεται πραγματικά δύσκολο ή καθίσταται ουσιαστικά αδύνατη η εκτέλεση κάποιων άλλων λειτουργιών που παρέχονται από ένα χαμηλότερο επίπεδο API.

Βασικοί τύποι API

Εσωτερικά API

  • Η πρόσβαση στο API περιορίζεται μόνο σε εσωτερικούς προγραμματιστές
  • Οι αιτήσεις απευθύνονται σε υπαλλήλους επιχειρήσεων

Οδηγοί επιχειρήσεων:

  • Αναπτυξιακή συνέπεια
  • Μείωση κόστους
  • Αυξημένη αποδοτικότητα ανάπτυξης

API συνεργατών

  • Τα API είναι διαθέσιμα μόνο σε περιορισμένο σύνολο επιχειρηματικών συνεργατών
  • Οι εφαρμογές έχουν σχεδιαστεί για τελικούς καταναλωτές και επαγγελματίες χρήστες

Οδηγοί επιχειρήσεων:

  • Αυτοματοποίηση της διαδικασίας ανάπτυξης
  • Ανάπτυξη συνεργασιών
  • Βελτιστοποίηση της διαδικασίας αλληλεπίδρασης με τους συνεργάτες

Δημόσια API

Η πρόσβαση παρέχεται σε οποιονδήποτε εξωτερικό προγραμματιστή. Οι εφαρμογές απευθύνονται σε τελικούς χρήστες

Οδηγοί επιχειρήσεων:

  • Ανάπτυξη νέων υπηρεσιών
  • Ανάπτυξη Οικοσυστήματος
  • Παντοκαναλική αλληλεπίδραση

Τα πιο διάσημα API

API λειτουργικών συστημάτων

GUI API

  • Direct3D (μέρος του DirectX)
  • DirectDraw (μέρος του DirectX)

Παρουσιάστηκε νέα διεπαφή προγραμματισμού γραφικές εφαρμογές Vulkan. Από τους ιδιοκτήτες GPUΗ GeForce έχει όλα όσα χρειάζεστε για να επωφεληθείτε από το Vulkan API σήμερα. Το νέο εργαλείο θα παρέχει στους προγραμματιστές καλύτερος έλεγχοςγια την εκτέλεση γραφικών εντολών και πολλά άλλα υψηλή απόδοσηγια ένα ευρύτερο φάσμα συσκευών.

Η υποστήριξη της NVIDIA για το Vulkan από τη στιγμή της κυκλοφορίας του, όχι μόνο σε διαφορετικές πλατφόρμες, αλλά και σε σύγχρονα παιχνίδια, όπως το The Talos Principle, έχει προσελκύσει την προσοχή των πιο διακεκριμένων ειδικών του κλάδου.

«Το να μπορείς να παίξεις το The Talos Principle την ημέρα κυκλοφορίας του API είναι ένα απίστευτο επίτευγμα», δήλωσε ο Jon Peddie, Πρόεδρος της Jon Peddie Research. «Η συμβατότητα πολλαπλών πλατφορμών της NVIDIA και η ολοκληρωμένη υποστήριξη προγραμμάτων οδήγησης για διαφορετικά λειτουργικά συστήματα επιβεβαιώνουν την ηγετική θέση της εταιρείας στην ανάπτυξη του Vulkan API».

Τι είναι το Vulkan;

Το Vulkan είναι ένα API χαμηλού επιπέδου που δίνει στους προγραμματιστές άμεση πρόσβαση στη GPU για πλήρη έλεγχο της απόδοσής της. Διαθέτοντας απλούστερα, ελαφρύτερα προγράμματα οδήγησης, το Vulkan εμφανίζει χαμηλότερο λανθάνοντα χρόνο και επιβάρυνση γραφικών σε σύγκριση με τα παραδοσιακά OpenGL και Direct3D API. Το Vulkan διαθέτει επίσης αποτελεσματική υποστήριξη πολλαπλών νημάτων και επιτρέπει πολλαπλούς πυρήνες κεντρικούς επεξεργαστέςφορτώστε τη διοχέτευση γραφικών πιο αποτελεσματικά, ανεβάζοντας την υπάρχουσα απόδοση υλικού στο επόμενο επίπεδο.

Το Vulkan είναι το πρώτο API χαμηλού επιπέδου επόμενης γενιάς που είναι cross-platform. Οι προγραμματιστές μπορούν να δημιουργήσουν εφαρμογές για υπολογιστές, κινητές συσκευές και ενσωματωμένες συσκευές που εκτελούνται σε διάφορα λειτουργικά συστήματα. Όπως το OpenGL, το Vulkan είναι ένα ανοιχτό, δωρεάν πρότυπο διαθέσιμο για οποιαδήποτε πλατφόρμα. Ωστόσο, η NVIDIA θα συνεχίσει να εργάζεται σε OpenGL και OpenGL ES για να υποστηρίζει εκείνους τους προγραμματιστές που προτιμούν να χρησιμοποιούν παραδοσιακά API.

Ποιος είναι πίσω από τον Vulkan;

Το Vulkan δημιουργήθηκε από τον Όμιλο Khronos, ο οποίος συγκεντρώνει ένα ευρύ φάσμα διαφορετικών εταιρειών από το λογισμικό και μηχανήματα υπολογιστών, συμπεριλαμβανομένης της NVIDIA, για τη δημιουργία ενός ανοιχτού, χωρίς δικαιώματα API για τη δημιουργία και αναπαραγωγή ποικίλου περιεχομένου σε ένα ευρύ φάσμα πλατφορμών και συσκευών. Είμαστε περήφανοι που παίξαμε βασικό ρόλο στη δημιουργία του Vulkan API. Και σκοπεύουμε να βοηθήσουμε ενεργά τους προγραμματιστές εφαρμογών να συνεργαστούν με το Vulkan, ώστε να μπορούν να αξιοποιήσουν στο έπακρο τις GPU της NVIDIA.

Οφέλη του Vulkan για τους χρήστες

Το Vulkan είναι μια εξαιρετική λύση για προγραμματιστές. Το νέο API μειώνει το κόστος μεταφοράς παιχνιδιών και ανοίγει νέες ευκαιρίες στην αγορά για εφαρμογές σε διαφορετικές πλατφόρμες. Είναι σημαντικό ότι τα προγράμματα οδήγησης NVIDIA για Windows, Linux και Android για να αξιοποιήσετε στο έπακρο το Vulkan είναι πλέον διαθέσιμα. Δείτε τη σελίδα προγραμμάτων οδήγησης Vulkan για περισσότερες λεπτομέρειες.

Πλεονεκτήματα για παίκτες που διαθέτουν GPU GeForce:

· Χαμηλή καθυστέρηση και υψηλή απόδοση Το Vulkan επιτρέπει στους προγραμματιστές να προσθέτουν περισσότερες λεπτομέρειες και ειδικά εφέ στα παιχνίδια διατηρώντας παράλληλα εξαιρετική απόδοση. Επειδή το πρόγραμμα οδήγησης Vulkan είναι ελαφρύτερο και έχει λιγότερη επιβάρυνση CPU, οι προγραμματιστές θα αντιμετωπίσουν λιγότερες εκπλήξεις στις τιμές απόδοσης, κάτι που με τη σειρά του έχει ως αποτέλεσμα πιο ομαλές, πιο δυναμικές εφαρμογές.

· Η NVIDIA παρέχει προγράμματα οδήγησης Vulkan για όλους Κάρτες γραφικών GeForceβασίζεται σε αρχιτεκτονικές Kepler και Maxwell, που εκτελούνται με λειτουργικό σύστημα Windows (Windows 7 και νεότερη έκδοση) και Linux.

· Οι ιδιοκτήτες GeForce θα είναι οι πρώτοι που θα παίξουν την έκδοση Vulkan του The Talos Principle, ενός παιχνιδιού παζλ από την Croteam που έγινε διαθέσιμο χθες. «Είχαμε επιτυχία στο παρελθόν για υποστήριξη προγραμμάτων οδήγησης με την ομάδα της NVIDIA, αλλά εντυπωσιάστηκα με τη δουλειά τους στο Vulkan», λέει ο ανώτερος προγραμματιστής της Croteam, Dean Sekuliuc, «Η NVIDIA μας έδωσε γρήγορα τα πιο πρόσφατα προγράμματα οδήγησης beta εφαρμόστε το νέο API στο Serious Engine και κάντε το The Talos Principle ένα από τα πρώτα παιχνίδια που υποστηρίζουν το Vulkan.

Οφέλη για προγραμματιστές επαγγελματικές εφαρμογέςγια το Quadro:
· Τα προγράμματα οδήγησης Vulkan και OpenGL χρησιμοποιούν μια δυαδική αρχιτεκτονική που επιτρέπει τη χρήση των shaders GLSL στο Vulkan. Οι προγραμματιστές μπορούν είτε να παραμείνουν στο OpenGL είτε να αλλάξουν από OpenGL σε Vulkan για να επωφεληθούν από τα οφέλη του Vulkan. Για παράδειγμα, χάρη σε πολυνηματική αρχιτεκτονική Vulkan Πυρήνες CPUμπορεί να προετοιμάσει δεδομένα για τη GPU πιο γρήγορα από πριν. Για εφαρμογές σχεδιασμού και δημιουργίας ψηφιακού περιεχομένου, αυτό σημαίνει μεγαλύτερη διαδραστικότητα κατά την εργασία με μεγάλα μοντέλα.

Πριν από μερικά χρόνια, η Apple παρουσίασε ένα νέο API γραφικών - Metal. Η διαφορά του από το ίδιο Scene Kit ήταν ότι δεν είναι ένα API υψηλού επιπέδου που τρέχει πάνω από το OpenGL ES ( έκδοση για κινητά OpenGL), αλλά ένα API χαμηλού επιπέδου για απόδοση και υπολογισμό που μπορεί να αντικαταστήσει το OpenGL. Σύμφωνα με την Apple, το Metal είναι κατά μια τάξη μεγέθους ταχύτερο από το OpenGL ES (ωστόσο, στην πραγματικότητα, μόνο οι κλήσεις λήψης και η μεταφορά δεδομένων στην GPU είναι 10 φορές πιο γρήγορα). Αυτό το API είναι διαθέσιμο για όλες τις συσκευές που λειτουργούν με επεξεργαστή A7 και νεότερους, καθώς και σε Mac από το 2012.

Πώς λειτουργούν τα API γραφικών

Πρώτα απ 'όλα, τι είναι ένα API; Αυτό σημαίνει Διασύνδεση προγραμματισμού εφαρμογών, διεπαφή προγραμματισμού εφαρμογών. Με απλά λόγια, αυτός είναι έτοιμος κώδικας που μπορεί να κάνει τη ζωή ενός προγραμματιστή πολύ πιο εύκολη όταν γράφει προγράμματα. Στην πραγματικότητα, αυτό είναι κάποιο είδος ημικατεργασμένου προϊόντος - με βάση αυτόν τον κώδικα, μπορείτε να γράψετε το δικό σας πρόγραμμα πολύ πιο γρήγορα και πιο εύκολα.

Τώρα ας δούμε πώς λειτουργεί η ίδια η GPU με το API. Είναι λανθασμένο να πιστεύουμε ότι μια κλήση API λειτουργεί απευθείας στη GPU και είναι ακόμη πιο λάθος να πιστεύουμε ότι η GPU ολοκληρώνει την επεξεργασία της κλήσης όταν επιστραφεί το αποτέλεσμα του API. Για παράδειγμα, εάν το πρόγραμμα οδήγησης εκτελούσε εντολές απόδοσης τη στιγμή που δημιουργήθηκαν, θα έμενε σε αδράνεια τη CPU ενώ περιμένει να ολοκληρωθεί η απόδοση. Και μετά την εκτέλεση θα ήταν το αντίστροφο - η GPU θα ήταν αδρανής, περιμένοντας να φτάσουν νέες εντολές από το πρόγραμμα οδήγησης.

Για αυτόν τον λόγο, η CPU και η GPU λειτουργούν ασύγχρονα: το πρόγραμμα οδήγησης γραφικών συλλέγει πρώτα όλες τις κλήσεις κλήσεων για ολόκληρο το πλαίσιο και μόνο στη συνέχεια τις στέλνει στη GPU. Επιπλέον, όταν φτάσει η εντολή για τη σχεδίαση του επόμενου πλαισίου, αυτό το πλαίσιο θα υποβληθεί ήδη σε επεξεργασία από τη GPU. Δηλαδή, έχουμε καθυστέρηση ενός καρέ: ενώ η CPU προετοιμάζει μια κλήση για το τρέχον πλαίσιο, η τελευταία αποδίδεται στη GPU. Στην πραγματικότητα, μπορείτε να αποθηκεύσετε περισσότερα από ένα καρέ και, ως εκ τούτου, να αποκτήσετε υψηλότερο ρυθμό καρέ: όλα εξαρτώνται μόνο από την απόδοση του επεξεργαστή και της κάρτας βίντεο.

Καινοτομίες στο API Metal

Τι συμβαίνει με τη μέθοδο που περιγράφεται παραπάνω; Το κακό με αυτό είναι ότι υπάρχει ένας ενδιάμεσος μεταξύ της GPU και του API - του προγράμματος οδήγησης. Και είναι αυτός που ελέγχει τις καθυστερήσεις. Στο Metal API, τα buffer εντολών είναι ανοιχτά και η εφαρμογή μπορεί να τα γεμίσει μόνη της και να τα στείλει στην ουρά εντολών για εκτέλεση στη GPU. Άρα η εφαρμογή έχει πλήρη έλεγχοπάνω από την εργασία και μπορεί να διαχειριστεί καθυστερήσεις. Επιπλέον, είναι πλέον δυνατό να παραλληλίζονται εύκολα εντολές και να τοποθετούνται σε ένα buffer με συγκεκριμένη σειρά, αφού γίνεται πιο προφανές στον προγραμματιστή ποια αποτελέσματα θα είναι διαθέσιμα με ποια σειρά.

Μια άλλη σημαντική καινοτομία είναι το υλικό: σε επεξεργαστές Apple A7 και ανώτερους επεξεργαστές, το Metal έχει σχεδιαστεί για να λειτουργεί με κοινόχρηστη μνήμη, δηλαδή, η CPU και η GPU μπορούν να έχουν πρόσβαση στα ίδια δεδομένα χωρίς να χρειάζεται να τα μεταφέρουν μέσω του διαύλου PCI. Το μέταλλο δίνει στο πρόγραμμα άμεση πρόσβαση στα buffer της CPU και ο προγραμματιστής μπορεί να «αναμίξει» υπολογισμούς στη GPU και την CPU, γεγονός που μπορεί να επιταχύνει σημαντικά το πρόγραμμα.

Πραγματικό όφελος από το API Metal

Όπως εξήγησα παραπάνω, κάθε κλήση κλήρωσης παίρνει λίγο χρόνο στη CPU και την GPU. Η απόδοση σε μια GPU δεν μπορεί να γίνει πιο γρήγορη προφανείς λόγους(εξαρτάται μόνο από την απόδοση της ίδιας της GPU), αλλά μπορείτε να κερδίσετε με άλλους τρόπους: πρώτον, μπορείτε να μειώσετε τον χρόνο μεταφοράς δεδομένων (καθώς το Metal λειτουργεί με κοινόχρηστη μνήμη) και δεύτερον, μπορείτε να μειώσετε τον χρόνο επεξεργασίας κλήσεων στην CPU. Ο χρόνος επεξεργασίας κλήσης στη CPU μειώνεται λόγω της απουσίας ενδιάμεσου προγράμματος οδήγησης και λόγω της παράλληλης κατασκευής του buffer εντολών.

Και εδώ τίθεται το ερώτημα - για ποια δεκαπλάσια αύξηση της παραγωγικότητας μιλούσε η Apple; Ναι, αυτό ακριβώς είναι που ο χρόνος κλήσης στην CPU είναι τώρα πολύ μικρότερος. Αλλά η GPU δεν επηρεάζεται σχεδόν εδώ, οπότε τελικά, είναι δυστυχώς αδύνατο να βελτιωθούν άμεσα τα γραφικά χρησιμοποιώντας το Metal API. Αλλά επειδή ο επεξεργαστής είναι δωρεάν, μπορεί να φορτωθεί με φυσική: υπολογισμός φυσικής σωματιδίων, αλληλεπίδραση πολλών αντικειμένων (θυμούνται όλοι εκατό ιπτάμενους πιθήκους στην παρουσίαση του iPhone 7;), υπολογισμός των επιπτώσεων του υφάσματος και του νερού και ούτω καθεξής. Και δεδομένου ότι η GPU το έκανε αυτό, την ελευθερώνουμε και αποδεικνύεται ότι έμμεσα μπορεί τώρα να παράγει μια καλύτερη εικόνα, όπως βλέπουμε στα παιχνίδια (συμπεριλαμβανομένου του Asphalt 8) (προσοχή στις λεπτομέρειες των πλακοστρώσεων και επιπτώσεις):

Διαλειτουργικότητα μεταξύ OpenGL και Metal

Όπως φαίνεται από τα παραπάνω, το Metal βελτιώνει πραγματικά τη διάρκεια ζωής του επεξεργαστή. Επομένως, εάν το σύστημα δεν υποστηρίζει Metal, αλλά διαθέτει έναν πολύ ισχυρό επεξεργαστή, τότε δεν είναι ιδιαίτερα δύσκολο να ξαναγράψετε το παιχνίδι για OpenGL - και αυτό ακριβώς βλέπουμε στο Vainglory για Android - να αποκτήσετε μέγιστα γραφικά(Επίπεδο Apple A9) στο OpenGL απαιτείται κορυφαίος επεξεργαστήςεπίπεδο του Snapdragon 820, ο οποίος όσον αφορά τις πρωτογενείς επιδόσεις (σε FLOPS) είναι δύο φορές πιο ισχυρός από τον A9.

Apple Metal 2

Στην παρουσίαση του Ιουνίου, η Apple παρουσίασε μια νέα έκδοση του Metal. Οι κύριες βελτιώσεις είναι η υποστήριξη για VR, μηχανική εκμάθηση και εξωτερικές GPU, οι οποίες θεωρητικά θα επιτρέψουν τη μεταφορά των παιχνιδιών PC σε Mac χωρίς καμία υποβάθμιση στα γραφικά (προς το παρόν, οι θύρες των περισσότερων παιχνιδιών είναι ουσιαστικά λανσάροντας το Wine, το οποίο μειώνει σημαντικά την απόδοση και επηρεάζει σε μεγάλο βαθμό τις ήδη μάλλον αδύναμες GPU στο Mac). Αλλά θα δούμε πώς θα γίνει αυτό στην πραγματικότητα μόνο στο μέλλον.



Συνιστούμε να διαβάσετε

Κορυφή