Μάλλον δεν έχουμε καταλάβει 100% τι σημαίνει το screen tearing.
Εξηγώ τι είναι: το κάθε καρέ (frame) γίνεται render από την κονσόλα, ΟΚ; ΟΚ. Κάποιος dev "χωρίζει" την οθόνη σε 3 μέρη οριζοντίως: 1 μεγάλο (που καταλαμβάνει το μεγαλύτερο μέρος στο κέντρο) και 2 μικρά στο πάνω και κάτω μέρος της οθόνης. Ο στόχος του προγραμματιστή είναι και τα 3 μέρη να rend-άρονται ταυτόχρονα. Στην περίπτωση όμως που είναι "βαριά" μια σκηνή = θα πέσουν τα fps, τότε ο προγραμματιστής δίνει προτεραιότητα στο render του 1 μεγάλου μέρους (κέντρο οθόνης) και μικρότερη προτεραιότητα στα 2 μικρά μέρη, πάνω και κάτω. Αποτέλεσμα: στις "ραφές" που ενώνονται τα 2 μικρά μέρη με το 1 κεντρικό εμφανίζονται "κοψίματα" στην εικόνα. ΟΧΙ σπασίματα. Κοψίματα. Αυτό λοιπόν λέγεται screen tearing.
Τι είναι τώρα το freesync και λοιπές τεχνολογίες.
Οι οθόνες LCD/OLED και γενικά ΟΛΕΣ οι σύγχρονες TV έχουν συγκεκριμένα Hz που προβάλλουν την εικόνα. Ανάλογα την TV, τα Hertz είναι στα 30 ή 60 (και μερικές στα 24).
Πάει αυτό, το ξεκαθαρίσαμε.
Έχουμε λοιπόν ένα παιχνίδι που στοχεύει τα 30 frames per second. Αν τρέχει ΚΑΡΦΩΤΑ στα 30 fps και δεν χάνει ούτε 0,1 frame, τότε η TV δέχεται 30 καρέ ανά δευτερόλεπτο που τα προβάλλει ένα-προς-ένα, επειδή και η ίδια συγχρονίζεται στα 30 Hertz. Αν όμως το παιχνίδι πέφτει σε βαριές σκηνές σε οποιονδήποτε μικρότερο αριθμό fps από τα 30 (29, 28, 27, 26 κοκ), η τηλεόραση ΠΑΡΑΜΕΝΕΙ να προβάλλει στα 30 Hertz. Αποτέλεσμα: σπασίματα στην ροή των fps, γιατί η TV λαμβάνει (πχ.) 27 καρέ, αλλά τα προβάλλει με ρυθμό ανανέωσης 30.
Οι TV/Monitor με Freesync, τι κάνουν; Συγχρονίζονται με τα fps. ΤΙΠΟΤΑ ΑΛΛΟ. Στέλνει η κονσόλα 28 καρέ; Ε, και η TV έχει ρυθμό ανανέωσης 28 Hertz. Στέλνει η κονσόλα 56 fps; Η TV συγχρονίζεται στα 56 Hertz. Και έτσι δεν υπάρχουν σπασίματα. Αυτό όμως που παρατηρείται ΕΝΤΟΝΑ είναι η πτώση στην ταχύτητα του παιχνιδιού.
Καταλαβαίνουμε από τα παραπάνω, ότι ουδεμία σχέση έχει το screen tearing που παράγεται από την κονσόλα, με το συγχρονισμό των Hertz (freesync κλπ) που παράγεται από την TV.
ΥΓ: Από τις αρχαίες εποχές είχαμε τα λεγόμενα Multisync Monitors (CRT) που έκαναν ΑΚΡΙΒΩΣ αυτό: είχαν τεράστια γκάμα Hertz. Από τα 15,5 Hertz έως 30 και κάποια επαγγελματικά έφταναν στα 60 Hertz. Αν δεν καταλαβαίνετε τι εννοώ, σημαίνει ότι ο προγραμματιστής μπορούσε να "μιλήσει" στο monitor και να του "πει" να έχει ΟΠΟΙΟΝ ρυθμό ανανέωσης γουστάρει, πχ. στα 24,48 Hertz. Το αναφέρω ώστε να μην τρώμε την μούφα της "νέας" τεχνολογίας.
ΥΓ2: Όλα τα παραπάνω είναι εντελώς εκλαϊκευμένα/απλή γλώσσα για να γίνουν εύκολα κατανοητά (όσο το δυνατό τελοσπάντων). Δεν είναι per se τεχνολογική περιγραφή, διότι το νόημα είναι να καταλάβουμε τις έννοιες εύκολα, όχι να κουράσω τους συνφορουμίτες με τεχνολογική διατριβή (που λέει ο λογος).


Reply With Quote








Bookmarks