Skip to main content

Τι είναι η άμεση λειτουργία;

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

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

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