Direct3D vs OpenGL: ιστορία αντιπαράθεσης. OpenGL ή DirectX: ποιο είναι καλύτερο, συγκριτικά χαρακτηριστικά, χαρακτηριστικά, συμβουλές

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

Α, αν ήταν τόσο απλό με το OpenGL. Τώρα, με τον ένα ή τον άλλο τρόπο, χρησιμοποιούνται 6 ασύμβατα πρότυπα (2.1,3.3,4.x, ES 1.0, ES 2.0, ES 3.0), τα οποία έχουν διαφορετικές γλώσσες shader και εν μέρει (και μερικές φορές σχεδόν εντελώς) διαφορετικά API . Ακόμα χειρότερα, καμία εφαρμογή αναφοράς και πολύ λίγος ποιοτικός έλεγχος. Ως αποτέλεσμα, στο μεγαλύτερο μέρος της αγοράς υπολογιστών (Intel και AMD), το OpenGL εφαρμόζεται στραβά και στα κινητά τηλέφωνα, εκτός από τα συχνά στραβά προγράμματα οδήγησης (για το Adreno (πρώην ATI, τι θέλετε), οι προσεγγίσεις βελτιστοποίησης είναι πολύ διαφορετικό

DiDi

Μιχαήλ, κάνεις λίγο λάθος. Χρειάζεται μόνο να επιλέξετε DirectX σε μία μόνο περίπτωση. Εάν θέλετε να περιορίσετε το κοινό σας όχι μόνο στην πλατφόρμα των Windows, αλλά και σε μία έκδοση των Windows και μια ακριβή αντιστοίχιση των κατασκευαστών και της σειράς εξαρτημάτων υπολογιστή που χρησιμοποιούνται για την ανάπτυξη. Και παρόλο που κανείς δεν θα υποστηρίξει ότι αυτό που γράφτηκε χρησιμοποιώντας το direct θα λειτουργήσει σε άλλα στοιχεία και ακόμη και σε ορισμένες εκδόσεις των Windows, ωστόσο, με οποιαδήποτε διαφορά, η εικόνα θα διαφέρει προς το χειρότερο, καθώς και την απόδοση. Σε όλες τις άλλες περιπτώσεις, εάν ο προγραμματιστής θέλει να μεταφέρει τη δημιουργία του με τη μορφή που το έκανε, πρέπει απλώς να επιλέξει το OpenGL.

κρισιμπ

DiDi, λες περίεργα πράγματα. Πρώτα απ 'όλα, το D3D9 είναι παντού από τα XP και, έκπληξη, στο XBox και σε μερικά Windows Mobileτηλέφωνα. Το D3D11 είναι διαθέσιμο σε όλους τους υπολογιστές με Vista+, WinRT, WP8. Προφανώς θα είναι στην επόμενη γενιά του XBox.

Το OpenGL λειτουργεί εξαιρετικά κακώς σε υπολογιστή. Υπάρχει μικρή πιθανότητα να λειτουργήσουν όλα στην AMD. Δεν θα πω τίποτα για την Intel καθόλου. Ο χρήστης, ειδικά το γουρούνι, μπορεί να μην έχει προγράμματα οδήγησης, τα οποία θα του παρέχουν δροσερή απόδοση λογισμικού και υποστήριξη για το API 1.1. Ταυτόχρονα, υπάρχει μια εξαιρετική πιθανότητα το παιχνίδι D3D να λειτουργήσει εξαιρετικά.

DiDi

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

κρισιμπ

Απλά το έχω. Και στο OpenGL ES. Δεν κατάλαβα καθόλου το αστείο για το κόστος εργασίας. Η παρακολούθηση της κατάστασης του αγωγού στο OpenGL εξακολουθεί να είναι βασανιστήριο, επειδή για κάποιο λόγο ένα σημαντικό μέρος του είναι εγκλωβισμένο σε γραφικά «πρωτόγονα». Η διατήρηση του κωδικού φορητού είναι γενικά δύσκολη. Το ES 1 δεν έχει καθόλου απαιτήσεις για μορφές συμπίεσης υφής υλικού, το ES 2.0 έχει κακή ETC. Ως αποτέλεσμα, για το ίδιο android θα πρέπει να συναρμολογήσετε ένα πακέτο δομών με υφές διαφορετικές μορφές. Δεν μιλάω καν για το γεγονός ότι το PowerVR και το Mali και το Adreno σε ορισμένα σημεία έχουν ακριβώς αντίθετες προσεγγίσεις βελτιστοποίησης σε επίπεδο OpenGL (με την προσέγγισή του στην αφαίρεση υλικού). Δεν θέλω να μιλήσω καν για PC. Λόγω του γεγονότος ότι το OpenGL πρέπει να λειτουργεί, οι υπολογιστές μου θα έχουν πάντα έναν επιταχυντή nVidia. Πραγματικά δεν έχω άλλη επιλογή. Μπορώ σχεδόν να εγγυηθώ ότι ο κώδικας που είναι γραμμένος σύμφωνα με το πρότυπο στο Intel GMA/HD δεν θα λειτουργήσει ανόητα, ακόμα κι αν εγκαταστήσω 10 προγράμματα οδήγησης. Λοιπόν, ή θα λειτουργήσει με τέτοιο τρόπο που θα ήταν καλύτερα αν ειλικρινά δεν λειτουργούσε. Είναι σχεδόν η ίδια ιστορία με το ATI/AMD, η κατάσταση είναι λίγο καλύτερη.

Γενικά, τα σχόλιά σας ακούγονται στο πνεύμα ενός αρχάριου προγραμματιστή που απλά δεν έχει προλάβει να περάσει από όλους τους κύκλους της κόλασης της ανάπτυξης παραγωγής στο OpenGL

Την περασμένη εβδομάδα παρουσιάστηκε το Vulkan API, περίπου ευρεία υποστήριξηανακοινώθηκε από την AMD και την NVIDIA. Νέος GUIπου αναπτύχθηκε από τον Όμιλο 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 όπως Πόλεμος των άστρων, προσπαθούν επίσης να χρησιμοποιήσουν παρόμοιο φορτίο. Αλλά το The Talos Principle δεν εξαρτάται τόσο από αυτό υψηλή ταχύτητα Draw Call έτσι ώστε το 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 μπορεί να παίξει σημαντικός ρόλος. Σε κάθε περίπτωση, θα πρέπει να περιμένουμε αντίδραση από τους προγραμματιστές των παιχνιδιών, διαφορετικά καταλήγουμε σε ένα πρόβλημα κότας και αυγού που είναι δύσκολο να ξεφύγουμε.

Γεια σε όλους. Σε αυτό το άρθρο (θα πω αμέσως ότι το άρθρο δεν είναι για αρχάριους) θα γίνει σύγκριση δύο διεπαφών που χρησιμοποιούνται για την ανάπτυξη γραφικών. Συχνά χρησιμοποιούνται σε παιχνίδια στον υπολογιστή. Αυτό OpenGLΚαι DirectX. Το άρθρο θα αποκαλύψει τα χαρακτηριστικά, την αρχιτεκτονική και τις επιδόσεις τους. Ας ξεκινήσουμε πρώτα με μια επισκόπηση του OpenGL.

Αξιοσημείωτο χαρακτηριστικό Βιβλιοθήκες OpenGL- απλότητα λειτουργίας του. Αυτή η βιβλιοθήκη έχει έναν πυρήνα που ελέγχει την επεξεργασία ορισμένων τριγώνων (ονομάζονται πρωτόγονα).

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

Ήρθε η ώρα να εξετάσουμε τις αρχές λειτουργίας της δεύτερης διεπαφής - DirectX. Είναι ουσιαστικά πολύ διαφορετικό από το OpenGL και βασίζεται στο μοντέλο COM. Πολλοί άνθρωποι που είναι εξοικειωμένοι με αυτή τη δομή θα γίνουν σαφείς. Και αν κάποιος δεν είναι εξοικειωμένος με τις αρχές του COM, τότε υπάρχουν μερικά σημεία που πρέπει να σημειωθούν. Το μοντέλο COM δεν προϋποθέτει απλές κλήσειςλειτουργίες, και ορισμένες ενέργειες, τα οποία σχετίζονται άμεσα με την αρχιτεκτονική της βιβλιοθήκης DirectX.

Ας δούμε τα πλεονεκτήματα και τα μειονεκτήματα αυτής της αρχιτεκτονικής. Οι κλήσεις DirectX χρησιμοποιούνται μέσα σε κώδικα που δεν είναι εύκολο να κατανοηθεί. Και, για να σχεδιάσουμε ένα συνηθισμένο τρίγωνο, χρησιμοποιείται πολύ μεγάλος αριθμός κώδικα. Για να απλοποιήσει την εργασία με τέτοιο κώδικα, η Microsoft έχει αναπτύξει κοινά αρχεία DirectX. Αυτή είναι μια ξεχωριστή βιβλιοθήκη που σας επιτρέπει να αποκρύψετε μερικώς επαναλαμβανόμενα κομμάτια κώδικα.

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

Κατά τη δοκιμή σκεύη, εξαρτήματαΟ βαθμός βελτιστοποίησης του κώδικα αυτών των δύο βιβλιοθηκών είναι διαφορετικός, εδώ μπορείτε να παρατηρήσετε πιο καθαρά τη διαφορά στις ταχύτητες λειτουργίας. Επίσης, η απόδοση μπορεί να εξαρτάται από την ποιότητα των προγραμμάτων οδήγησης υλικού. Όλες αυτές οι στιγμές έχουν προγραμματιστεί εκ των προτέρων και οι μηχανές παιχνιδιών υψηλότερης ποιότητας έχουν εκδόσεις τόσο για OpenGL όσο και για DirectX. Ως αποτέλεσμα, η ανάπτυξη γίνεται πιο περίπλοκη και το κόστος των παιχνιδιών αυξάνεται και μπορεί να υπάρχουν περισσότερα σφάλματα. Έτσι ακριβώς λειτουργεί η αγορά τυχερών παιχνιδιών.

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

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

Το DirectX αρέσει στους προγραμματιστές που ακολουθούν τον αντικειμενοστραφή προγραμματισμό και το μοντέλο COM. ΜΕ χρησιμοποιώντας COMΓίνονται αλλαγές σε αυτήν τη βιβλιοθήκη χωρίς επεξεργασία του βασικού κώδικα. Αλλά στο OpenGL δεν υπάρχει τέτοια προσέγγιση, αλλά αυτό δεν είναι τόσο ισχυρό μείον. Για το γράψιμο μικρό πρόγραμμαστο DirectX χρησιμοποιείται ο κώδικας, το μέγεθος είναι 200-800 γραμμές, για το OpenGL το ίδιο για παρόμοια λύση 50 γραμμές είναι αρκετές.

Το OpenGL είναι πολύ κατάλληλο για την οπτικοποίηση διαφόρων ερευνητικών αποτελεσμάτων σε επιστημονικά πεδία.
Και φυσικά, ένα μεγάλο πλεονέκτημα του OpenGL είναι το άνοιγμα του προτύπου. Οποιοσδήποτε οργανισμός έχει το δικαίωμα να αγοράσει άδεια από την SGI και να αρχίσει να αναπτύσσει τη δική του Έκδοση OpenGL. Το DirectX είναι κλειστό και μόνο η Microsoft μπορεί να το αναπτύξει. Επομένως, η διαδρομή του DirectX καθορίζεται από έναν στενότερο κύκλο ειδικών.

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

Αυτό είναι ίσως όλο, ευχαριστώ για την προσοχή σας :)

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

Τι είναι το OpenGL και το DirectX;

Ας ξεκινήσουμε με το γεγονός ότι μεταξύ των απλών χρηστών υπάρχει μια εσφαλμένη αντίληψη ότι αυτά τα δύο περιγραφόμενα εξαρτήματα είναι μηχανές γραφικών. Εδώ προκύπτουν λανθασμένα ερωτήματα σχετικά με το ποιος κινητήρας είναι καλύτερος - OpenGL ή DirectX;

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

Σε τι χρησιμεύουν αυτές οι τεχνολογίες;

Φυσικά, πολύ συχνά μπορείτε να συναντήσετε ερωτήσεις σχετικά με το ποια γραφικά είναι καλύτερα - OpenGL ή DirectX; Αυτή η δήλωση είναι επίσης εν μέρει εσφαλμένη, καθώς μπορούμε να μιλήσουμε όχι μόνο για τη χρήση των πόρων των καρτών γραφικών, αλλά και για τον ήχο ή οποιοδήποτε άλλο «υλισμικό» και εικονικές συσκευέςΠΟΛΥΜΕΣΑ. Αλλά τις περισσότερες φορές μιλάμε πραγματικά για επιταχυντές γραφικών. Ταυτόχρονα, πρέπει να καταλάβετε σαφώς ότι η επιλογή υπέρ μιας ή άλλης "γέφυρας" που εξασφαλίζει την αλληλεπίδραση της κάρτας βίντεο με εγκατεστημένο παιχνίδιή οποιοδήποτε άλλο πρόγραμμα όπου είναι απαραίτητο μπορεί να εξαρτάται από το πόσο υποχρεωτική είναι αυτή η υποστήριξη.

ΣΕ σύγχρονα παιχνίδιαΜε πολύπλοκες υφές και σχολαστικά σχεδιασμένες δυναμικές σκηνές, μια τέτοια υποστήριξη είναι εξαιρετικά απαραίτητη. Αλλά το πρόβλημα είναι ότι δεν μπορούν όλοι οι επιταχυντές γραφικών να χρησιμοποιήσουν σωστά μια τέτοια υποστήριξη. Σε αυτή την περίπτωση, όλα εξαρτώνται από τους οδηγούς. Όσο μοντέρνα κι αν είναι η κάρτα, με απαρχαιωμένο λογισμικό ελέγχου (drivers) δεν θα μπορεί να χρησιμοποιήσει όλες τις δυνατότητες που είχε αρχικά δηλώσει ο κατασκευαστής. Ωστόσο, στα περισσότερα παιχνίδια ή σε προγράμματα για εργασία με πολυμέσα (για παράδειγμα, για επεξεργασία βίντεο), είναι πολύ συχνά απαραίτητο να επιλέξετε ποια υποστήριξη θα εγκατασταθεί στις ρυθμίσεις, αντιπαραθέτοντας μια πλατφόρμα ενάντια στην άλλη (στην αγγλική έκδοση συνήθως μοιάζει με "OpenGL vs DirectX").

Κύριες διαφορές μεταξύ DirectX και OpenGL

Όσο για τις βασικές διαφορές, χωρίς να μπω μέσα τεχνικές πτυχέςλειτουργώντας, μπορεί αμέσως να σημειωθεί ότι η πλατφόρμα DirectX, η οποία αποτελεί αποκλειστική ανάπτυξη της Microsoft Corporation, προορίζεται αποκλειστικά για χρήση σε συστήματα Windows και εν μέρει στο Xbox, και το OpenGL είναι μια ελεύθερα διανεμημένη τεχνολογία πολλαπλών πλατφορμών που εφαρμόζεται σε άλλα λειτουργικά συστήματα ( ακόμα και κινητά). Η άδεια GNU επιτρέπει σε οποιονδήποτε να συνεισφέρει στα στοιχεία αυτού του API δικές του αλλαγέςκαι προσθήκες που σχετίζονται με τη βελτίωσή του προκειμένου να αυξηθεί η απόδοση των ίδιων καρτών γραφικών, ενώ βελτιώσεις στο DirectX αναμένονται μόνο καθώς κυκλοφορούν νέες εκδόσεις της πλατφόρμας. Επιπλέον, ακόμη και με τα νεότερα προγράμματα οδήγησης, όταν χρησιμοποιούνται σε παλαιότερες εκδόσεις της γέφυρας, οι επιταχυντές γραφικών δεν παράγουν την απόδοση που δηλώνει ο κατασκευαστής.

Κύρια πλεονεκτήματα και μειονεκτήματα

Μιλώντας για το ποιο είναι καλύτερο - OpenGL ή DirectX 11 (12), αξίζει να σημειωθεί ότι η πρώτη πλατφόρμα προορίζεται μόνο για γραφικά και η δεύτερη μπορεί να χρησιμοποιηθεί γενικά για οτιδήποτε σχετίζεται με πολυμέσα (για γραφικά σε σε αυτήν την περίπτωσητο στοιχείο Direct3D είναι υπεύθυνο).

Επιπλέον, πολλοί ειδικοί σημειώνουν ότι σε πολύ μεγάλο βαθμό η επιλογή υπέρ της μιας ή της άλλης γέφυρας μπορεί να εξαρτάται από τον τύπο κάρτα γραφικών. Αλλά, αν προσεγγίσουμε τη σύγκριση με ανοιχτό μυαλό, πιστεύεται ότι όσον αφορά την κάλυψη της πλατφόρμας, το OpenGL φαίνεται καλύτερο, αλλά το DirectX κερδίζει από την άποψη ότι είναι έτοιμο προϊόν λογισμικού της κατηγορίας Plug&Play. Ωστόσο, δεν πρέπει να ξεχνάμε ότι η εργαλειοθήκη DirectX τελευταίαεκδόσεις είναι ήδη διαθέσιμες στο OpenGL, αλλά δεν υπάρχει αντίστροφη υποστήριξη.

OpenGL ή DirectX: ποιο είναι καλύτερο για παιχνίδια;

Όσο για τα παιχνίδια, ακόμη και εδώ είναι αδύνατο να δώσουμε μια σίγουρη απάντηση. Για παράδειγμα, αρκετά συχνά μπορείτε να βρείτε σχόλια σχετικά με το γεγονός ότι τσιπ γραφικώνΣειρά Radeon 9800 κορυφαίες βαθμολογίεςσε δοκιμές δείχνουν με βάση το DirectX, και τις κάρτες Σειρά GeForce 5XXX - όταν χρησιμοποιείτε OpenGL. Αλλά το DirectX έχει ένα άλλο αναμφισβήτητο πλεονέκτημα.

Δεδομένου ότι η γέφυρα OpenGL δημιουργήθηκε αρχικά για άλλες πλατφόρμες, μπορεί να εμφανιστούν διάφορα είδη σφαλμάτων στα Windows, αλλά το DirectX σάς επιτρέπει να χρησιμοποιείτε αρκετά καλά παιχνίδια ακόμα και σε σχετικά παλιούς υπολογιστές χωρίς επιβραδύνσεις ( λαμπρό παράδειγμαΓι' αυτό το παιχνίδι Age Of Empires).

Συμβαίνει και το αντίστροφο. Για παράδειγμα, ορισμένοι χρήστες σημειώνουν ότι το DOOM 3 σε κάρτες της σειράς Radeon X1XXX με χρησιμοποιώντας OpenGLαπλώς «πετάει» και το Half-Life 2 «επιβραδύνει» πολύ συχνά. Αλλά εδώ, προφανώς, όλα εξαρτώνται επίσης από τους οδηγούς.

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

Τι είναι καλύτερο για το BlueStacks: DirectX ή OpenGL;

Αρκετά συχνά μπορείτε να συναντήσετε ερωτήσεις σχετικά με τη χρήση ενός από τους πιο δημοφιλείς εξομοιωτές συστήματος Android που ονομάζεται BlueStacks. Ποια πλατφόρμα να προτιμήσετε στο BlueStacks - OpenGL ή DirectX; Αλίμονο, ούτε εδώ είναι αδύνατο να δώσουμε σίγουρη απάντηση.

Ωστόσο, δεν λέγεται ότι εάν εγκαταστήσετε παιχνίδια μέσω αυτού του εξομοιωτή, είναι καλύτερο να χρησιμοποιήσετε το OpenGL, αλλά εάν το παιχνίδι επιβραδύνει, τότε θα πρέπει να μεταβείτε στο DirectX. Αλλά, και πάλι, όλα αυτά αφορούν μόνο γραφικά παιχνιδιού. Σε περίπτωση που επαγγελματική επεξεργασίακαι η απόδοση βίντεο θα απαιτήσει σοβαρό πειραματισμό.

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

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

Σύντομα συμπεράσματα

Συνοψίζοντας, όπως είναι ήδη σαφές, είναι αρκετά δύσκολο να εξαχθεί ένα σαφές συμπέρασμα υπέρ του ενός ή του άλλου στοιχείου. Ανάμεσα σε αυτές τις πλατφόρμες υπάρχει μια σταθεράανταγωνισμός. Ωρες ωρες μια νέα έκδοσηΤο DirectX προηγείται του OpenGL στις παραμέτρους του, αλλά καθώς γίνεται ξεπερασμένο και εισάγονται κάποιες καινοτομίες στο OpenGL, αρχίζει να χάνει. Γενικά, όταν κάποιος κάνει μια επιλογή, θα πρέπει να κινηθεί αποκλειστικά από τη γνωστή αρχή ότι η αλήθεια είναι γνωστή μέσω της σύγκρισης. Δοκιμάστε και τα δύο! Μόνο μετά τη λήψη συγκεκριμένων αποτελεσμάτων και για κάθε συγκεκριμένη περίπτωση θα είναι ξεκάθαρο σε ποια πλευρά της ζυγαριάς θα κλίνει η επιλογή σας.

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

Τι είναι το OpenGL και το DirectX;

Ας ξεκινήσουμε με το γεγονός ότι μεταξύ των απλών χρηστών υπάρχει μια εσφαλμένη αντίληψη ότι αυτά τα δύο περιγραφόμενα εξαρτήματα είναι μηχανές γραφικών. Εδώ προκύπτουν λανθασμένα ερωτήματα σχετικά με το ποιος κινητήρας είναι καλύτερος - OpenGL ή DirectX;

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

Σε τι χρησιμεύουν αυτές οι τεχνολογίες;

Φυσικά, πολύ συχνά μπορείτε να συναντήσετε ερωτήσεις σχετικά με το ποια γραφικά είναι καλύτερα - OpenGL ή DirectX; Αυτή η διατύπωση είναι επίσης εν μέρει εσφαλμένη, καθώς μπορούμε να μιλήσουμε όχι μόνο για τη χρήση των πόρων των καρτών γραφικών, αλλά και για τον ήχο ή οποιαδήποτε άλλη «υλισμική» και εικονικές συσκευές πολυμέσων. Αλλά τις περισσότερες φορές μιλάμε πραγματικά για επιταχυντές γραφικών. Ταυτόχρονα, πρέπει να κατανοήσετε ξεκάθαρα ότι η επιλογή υπέρ της μιας ή της άλλης «γέφυρας» που διασφαλίζει την αλληλεπίδραση της κάρτας βίντεο με ένα εγκατεστημένο παιχνίδι ή οποιοδήποτε άλλο πρόγραμμα, όπου είναι απαραίτητο, μπορεί επίσης να εξαρτάται από το πόσο υποχρεωτική τέτοια υποστήριξη είναι.

Σε μοντέρνα παιχνίδια με πολύπλοκες υφές και σχολαστικά σχεδιασμένες δυναμικές σκηνές, μια τέτοια υποστήριξη είναι εξαιρετικά απαραίτητη. Αλλά το πρόβλημα είναι ότι δεν μπορούν όλοι οι επιταχυντές γραφικών να χρησιμοποιήσουν σωστά μια τέτοια υποστήριξη. Σε αυτή την περίπτωση, όλα εξαρτώνται από τους οδηγούς. Όσο μοντέρνα κι αν είναι η κάρτα, με απαρχαιωμένο λογισμικό ελέγχου (drivers) δεν θα μπορεί να χρησιμοποιήσει όλες τις δυνατότητες που είχε αρχικά δηλώσει ο κατασκευαστής. Ωστόσο, στα περισσότερα παιχνίδια ή σε προγράμματα για εργασία με πολυμέσα (για παράδειγμα, για επεξεργασία βίντεο), είναι πολύ συχνά απαραίτητο να επιλέξετε ποια υποστήριξη θα εγκατασταθεί στις ρυθμίσεις, αντιπαραθέτοντας μια πλατφόρμα ενάντια στην άλλη (στην αγγλική έκδοση συνήθως μοιάζει με "OpenGL vs DirectX").

Κύριες διαφορές μεταξύ DirectX και OpenGL

Όσον αφορά τις κύριες διαφορές, χωρίς να υπεισέλθουμε στις τεχνικές πτυχές της λειτουργίας, μπορούμε αμέσως να σημειώσουμε ότι η πλατφόρμα DirectX, η οποία αποτελεί αποκλειστική ανάπτυξη της Microsoft Corporation, προορίζεται αποκλειστικά για χρήση σε συστήματα Windows και εν μέρει στο Xbox, και το OpenGL είναι ελεύθερα διανεμημένη τεχνολογία πολλαπλών πλατφορμών που εφαρμόζεται σε άλλα λειτουργικά συστήματα (ακόμη και κινητά). Η άδεια GNU επιτρέπει σε οποιονδήποτε να κάνει τις δικές του αλλαγές και προσθήκες στα στοιχεία αυτού του API για να το βελτιώσει προκειμένου να αυξήσει την απόδοση των ίδιων καρτών γραφικών, ενώ βελτιώσεις DirectX μπορούν να αναμένονται μόνο καθώς κυκλοφορούν νέες εκδόσεις της πλατφόρμας. Επιπλέον, ακόμη και με τα νεότερα προγράμματα οδήγησης, όταν χρησιμοποιούνται σε παλαιότερες εκδόσεις της γέφυρας, οι επιταχυντές γραφικών δεν παράγουν την απόδοση που δηλώνει ο κατασκευαστής.

Κύρια πλεονεκτήματα και μειονεκτήματα

Μιλώντας για το ποιο είναι καλύτερο - OpenGL ή DirectX 11 (12), αξίζει να σημειωθεί ότι η πρώτη πλατφόρμα προορίζεται μόνο για γραφικά και η δεύτερη μπορεί να χρησιμοποιηθεί γενικά για οτιδήποτε σχετίζεται με πολυμέσα (το στοιχείο Direct3D είναι υπεύθυνο για τα γραφικά σε αυτή η υπόθεση) .

Επιπλέον, πολλοί ειδικοί σημειώνουν ότι σε πολύ μεγάλο βαθμό η επιλογή υπέρ μιας ή άλλης γέφυρας μπορεί να εξαρτάται από τον τύπο της κάρτας γραφικών. Αλλά, αν προσεγγίσουμε τη σύγκριση με ανοιχτό μυαλό, πιστεύεται ότι όσον αφορά την κάλυψη της πλατφόρμας, το OpenGL φαίνεται καλύτερο, αλλά το DirectX κερδίζει από την άποψη ότι είναι έτοιμο προϊόν λογισμικού της κατηγορίας Plug&Play. Ωστόσο, δεν πρέπει να ξεχνάμε ότι οι πιο πρόσφατες εκδόσεις του κιτ εργαλείων DirectX είναι ήδη διαθέσιμες στο OpenGL, αλλά δεν υπάρχει αντίστροφη υποστήριξη.

OpenGL ή DirectX: ποιο είναι καλύτερο για παιχνίδια;

Όσο για τα παιχνίδια, ακόμη και εδώ είναι αδύνατο να δώσουμε μια σίγουρη απάντηση. Για παράδειγμα, αρκετά συχνά μπορείτε να συναντήσετε σχόλια σχετικά με το γεγονός ότι τα τσιπ γραφικών της σειράς Radeon 9800 δείχνουν τα καλύτερα αποτελέσματα σε δοκιμές που βασίζονται στο DirectX και κάρτες GeForceΣειρά 5XXX - όταν χρησιμοποιείτε OpenGL. Αλλά το DirectX έχει ένα άλλο αναμφισβήτητο πλεονέκτημα.

Δεδομένου ότι η γέφυρα OpenGL δημιουργήθηκε αρχικά για άλλες πλατφόρμες, μπορεί να εμφανιστούν διάφορα είδη σφαλμάτων στα Windows, αλλά το DirectX σάς επιτρέπει να χρησιμοποιείτε αρκετά καλά παιχνίδια ακόμη και σε σχετικά ξεπερασμένους υπολογιστές χωρίς επιβραδύνσεις (ένα χαρακτηριστικό παράδειγμα αυτού είναι το παιχνίδι Age Of αυτοκρατορίες).

Συμβαίνει και το αντίστροφο. Για παράδειγμα, ορισμένοι χρήστες σημειώνουν ότι το DOOM 3 σε κάρτες της σειράς Radeon X1XXX που χρησιμοποιούν OpenGL απλώς «πετάει» και το Half-Life 2 πολύ συχνά «επιβραδύνει». Αλλά εδώ, προφανώς, όλα εξαρτώνται επίσης από τους οδηγούς.

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

Τι είναι καλύτερο για το BlueStacks: DirectX ή OpenGL;

Αρκετά συχνά μπορείτε να συναντήσετε ερωτήσεις σχετικά με τη χρήση ενός από τους πιο δημοφιλείς εξομοιωτές συστήματος Android που ονομάζεται BlueStacks. Ποια πλατφόρμα να προτιμήσετε στο BlueStacks - OpenGL ή DirectX; Αλίμονο, ούτε εδώ είναι αδύνατο να δοθεί σίγουρη απάντηση.

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

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

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

Σύντομα συμπεράσματα

Συνοψίζοντας, όπως είναι ήδη σαφές, είναι αρκετά δύσκολο να βγάλουμε ένα ξεκάθαρο συμπέρασμα υπέρ του ενός ή του άλλου στοιχείου. Υπάρχει συνεχής ανταγωνισμός μεταξύ αυτών των πλατφορμών. Μερικές φορές καινούργιο Έκδοση DirectXστις παραμέτρους του είναι μπροστά από το OpenGL, αλλά καθώς γίνεται ξεπερασμένο, καθώς και κάποιες καινοτομίες εισάγονται στο OpenGL, αρχίζει να χάνει. Γενικά, κατά την επιλογή, θα πρέπει να κινηθεί κανείς αποκλειστικά από τη γνωστή αρχή ότι η αλήθεια είναι γνωστή μέσω της σύγκρισης. Δοκιμάστε και τα δύο! Μόνο μετά τη λήψη συγκεκριμένων αποτελεσμάτων και για κάθε συγκεκριμένη περίπτωση θα είναι σαφές προς ποια πλευρά της ζυγαριάς θα κλίνει η επιλογή σας.



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

Μπλουζα