Τι είναι το Anti-aliasing;

Πως λειτουργεί και ποια είναι τα είδη αυτής της τεχνολογίας
07 Αυγούστου 2014 08:10
Τι είναι το Anti-aliasing;

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

Ωστόσο, πέρα από το γεγονός ότι οι υψηλότερες αναλύσεις απαιτούν περισσότερη επεξεργαστική ισχύ, πολλές οθόνες απλά δε μπορούν να απεικονίσουν τις πολύ υψηλές αναλύσεις που απαιτούνται για να αντιμετωπιστεί αποτελεσματικά το πρόβλημα. Για να αντιμετωπιστεί το πρόβλημα χρησιμοποιείται μια τεχνική που ονομάζεται Full Scene Anti-Aliasing (FSAA) ή απλώς Anti-Aliasing (AA). Το Anti-Aliasing βοηθά στο να εμφανίζονται οι ακανόνιστες αυτές γραμμές πιο ‘’ομαλές’’, χωρίς να χρειάζεται να αυξήσετε την ανάλυση της οθόνης σας. Ουσιαστικά το ΑΑ συνδυάζει τις ακανόνιστες γραμμές με το περιβάλλον τους και μπορεί να εφαρμοστεί, είτε σε 2D ή 3D γραφικά.



Όμως, το προφανές ερώτημα είναι: «Αν το anti-aliasing λύνει αυτό το ενοχλητικό πρόβλημα, τότε γιατί δεν έρχονται όλα τα παιχνίδια με ‘’ενσωματωμένο’’ το anti-aliasing; Ο λόγος είναι ότι το anti-aliasing είναι μια ιδιαίτερα εντατική εργασία που αναλαμβάνει η κάρτα γραφικών σας, απαιτώντας αρκετές φορές μεγάλα ποσά VRAM και πολλούς υπολογισμούς από την GPU, έχοντας ένα σημαντικό αντίκτυπό στην απόδοση. Γι 'αυτό σχεδόν σε κάθε παιχνίδι, προφέρονται μια σειρά από διάφορα είδη και επίπεδα anti-aliasing, τα οποία μπορείτε να ενεργοποιήσετε αν θέλετε ή να τα απενεργοποιήσετε εντελώς για μέγιστη απόδοση.

Επίπεδα anti-aliasing

Η πρώτη επιλογή που έχετε να κάνετε αν θέλετε να ενεργοποιήσετε το AA είναι το ποσοστό του δείγματος, το οποίο συνήθως εκφράζεται ως 2x, 4x, 8x, κλπ. Αυτό το δείγμα αφορά το ποσό των pixels τα οποία βρίσκονται κοντά σε μια ακατάστατη γραμμή - όσο μεγαλύτερος ο αριθμός, τόσο περισσότερα pixels από το περιβάλλον θα χρησιμοποιηθούν για να μειωθεί το aliasing στην εικόνα. Τα μεγαλύτερα επίπεδα anti-aliasing προσφέρουν μια πολύ ομαλότερη εικόνα με τον αντίστοιχο, πάντα, αντίκτυπο στην απόδοση.



Ωστόσο και η ανάλυση σας επηρεάζει τον αριθμό των pixels που χρησιμοποιούνε ως δείγμα. Έτσι στις μικρότερες αναλύσεις καθώς λιγότερα pixels περιβάλουν μια ‘’ζαρωμένη’’ γραμμή, μεγαλύτερα επίπεδα anti-aliasing είναι απαραίτητα για μια ομαλή εικόνα, ενώ στις μεγαλύτερες αναλύσεις η ίδια ομαλή εικόνα μπορεί να επιτευχθεί με χαμηλότερα επίπεδα. Για παράδειγμα το οπτικό αποτέλεσμα όσον αφορά το aliasing είναι περίπου το ίδιο σε μια
εικόνα ανάλυσης 1280x720 με 8x AA και σε μια εικόνα ανάλυσης 1920x1200 με 2x AA.

Τύποι anti-aliasing

Υπάρχουν διάφορες μέθοδοι για την επίτευξη του anti-aliasing. Οι περισσότερες από αυτές βασίζονται σε δύο μεθόδους:

  1. Στη μέθοδο του sampling: το sampling είναι μια διαδικασία όπου επιλέγεται μία μόνο τιμή από μια συνεχώς μεταβαλλόμενη σειρά τιμών. Το αποτέλεσμα του sampling είναι μία τιμή που ονομάζεται sample. Στα 3D γραφικά, ένα sample περιγράφει μια περιοχή γεωμετρίας.
  1. Στη μέθοδο του post-processing: σε αυτή τη μέθοδο ένα αλγόριθμος τροποποιεί την εικόνα λίγο πριν αυτή προβληθεί στη οθόνη μας, αφαιρώντας, όσο aliasing μπορεί να εντοπίσει.

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



Το Multi Sampling (MSAA) είναι μια νεότερη μορφή ΑΑ που βασίζεται στο super sampling anti-aliasing, αλλά αντί να αυξάνει την ανάλυση ολόκληρης της εικόνας εντοπίζει τις πλευρές που χρειάζονται anti-aliasing και επεξεργάζεται μόνο τις περιοχές αυτές. Έτσι ο αντίκτυπος στις επιδόσεις είναι πολύ μικρότερος.

Τα EQAA (Enhanced Quality AA) και CSAA (Coverage Sample AA) προσπαθούν να αυξήσουν την ποιότητα του MSAA, λαμβάνοντας περισσότερα στοιχεία (samples) από την εικόνα

Τα MLAA (Morphological AA) και FXAA (Fast Aproximate AA) είναι δύο τύποι AA που κανουν χρήση της μεθόδου του post-processing. Αρχικά ανιχνεύουν τις πλευρές σε μια εικόνα, τις οποίες και θολώνουν στη συνέχεια. Τα οπτικά αποτελέσματα δεν είναι μεν τα καλύτερα καθώς ολόκληρη η εικόνα δείχνει θολή  δυνατά, αλλά αποδόσεις μένουν σε υψηλά επίπεδα.

Το SMAA είναι μια μίξη των Multi Sampling (MSAA) και FXAA (Fast Aproximate AA). Λειτουργεί πάλι θολώνοντας τις πλευρές, χωρίς όμως να θολώνει ιδιαίτερα ολόκληρη την εικόνα, προσφέροντας έτσι μια ισορροπία μεταξύ απόδοσης και απτικού αποτελέσματος.

Η παραπάνω λίστα αποτελείται μόνο από τους πιο δημοφιλείς τύπους ΑΑ. Μεταξύ άλλων υπάρχουν τα FSAA, OGSSAA, RGSSAA, RGSSAA, SGSSAA, JGSSAA, TrAA, TMAA, TSAA τα οποία όμως βρίσκουμε σε πολύ λιγότερες περιπτώσεις.

Tags: