Η MICROSOFT ανακοίνωσε το DirectStorage 1.2 για την επιτάχυνση των χρόνων φόρτωσης των παιχνιδιών

1 έτος πριν
MICROSOFT DirectStorage 1.2

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

Με την έκδοση DirectStorage 1.2, το API της MICROSOFT διαθέτει πλέον ένα χαρακτηριστικό που ζητούσαν έντονα οι προγραμματιστές παιχνιδιών: τη δυνατότητα να επιταχύνει τη φόρτωση των παιχνιδιών στους μηχανικούς σκληρούς δίσκους. Το DirectStorage φέρνει μεγάλο μέρος της «μυστικής συνταγής» του ταχύτατου υποσυστήματος αποθήκευσης των κονσολών στους υπολογιστές, καθώς οι κονσόλες διατήρησαν τους μηχανικούς σκληρούς δίσκους ως συσκευές αποθήκευσης παιχνιδιών για πολύ μεγαλύτερο χρονικό διάστημα από τους υπολογιστές παιχνιδιών. 

Τo DirectStorage API διατέθηκε αρχικά με στόχο να ενισχύσει τη μετάδοση πολύ μεγάλου όγκου δεδομένων από ένα ταχύτατο solid state drive τύπου NVMe απευθείας στον επεξεργαστή γραφικών (GPU) χωρίς να μεσολαβεί ο επεξεργαστής γενικής χρήσης (CPU) για την αποσυμπίεσή τους πρώτα. Με την έκδοση DirectStorage 1.1 ήρθε και η αποσυμπίεση στον επεξεργαστή γραφικών. Η τεχνική «GPU decompression» λειτουργεί μεταφέροντας το φόρτο εργασίας που απαιτείται για την αποσυμπίεση των δεδομένων ενός παιχνιδιού από τον επεξεργαστή γενικής χρήσης στον επεξεργαστή γραφικών. Τώρα, με τη νέα έκδοση DirectStorage 1.2, η MICROSOFT εισάκουσε τους προγραμματιστές παιχνιδιών για βελτιωμένη υποστήριξη των μηχανικών σκληρών δίσκων ώστε να βελτιωθούν σημαντικά οι χρόνοι φόρτωσης. 

Αν και το DirectStorage λειτουργούσε με σκληρούς δίσκους, έστω μερικώς, οι προγραμματιστές παιχνιδιών ήταν αναγκασμένοι να χρησιμοποιούν διαφορετικές μεθόδους για τους μηχανικούς σκληρούς δίσκους και για τα NVMe solid state drives, γεγονός που καθιστούσε την υποστήριξη του API της MICROSOFT μία περιπλοκότερη διαδικασία. Με τη διάθεση της έκδοσης DirectStorage 1.2 όμως οι προγραμματιστές πλέον δεν χρειάζεται να χρησιμοποιούν διαφορετικό κώδικα για την υποστήριξη των ταχύτατων solid state drives και των μηχανικών σκληρών δίσκων. 

Οι σκληροί δίσκοι απαιτούν «buffered reads» για να αντισταθμίσουν τους μεγαλύτερους χρόνους αναζήτησης (seek times) όταν τυπικά το DirectStorage προσπελαύνει αρχεία σε «unbuffered» mode, γεγονός που απέκλειε τη χρήση των σκληρών δίσκων για DirectStorage. Με ενημέρωση DirectStorage 1.2 ωστόσο, οι υπολογιστές που διαθέτουν μηχανικούς σκληρούς δίσκους μπορούν πλέον να επωφεληθούν από τη συγκεκριμένη τεχνολογία. Έτσι, τα δεδομένα των παιχνιδιών που αποθηκεύονται σε σκληρούς δίσκους είναι πλέον άμεσα προσβάσιμα από τον επεξεργαστή γραφικών (GPU) καθώς τα διάφορα συμπιεσμένα στοιχεία των παιχνιδιών αποσυμπιέζονται «on-the-fly» (μέσω των «compute-shader» δυνατοτήτων επιτάχυνσης των σύγχρονων επεξεργαστών γραφικών). Η MICROSOFT επίσης πρόσθεσε ένα μέσο ώστε να γνωρίζει κάθε παιχνίδι αν τα συμπιεσμένα στοιχεία αποσυμπιέζονται από τον επεξεργαστή γραφικών ή για την αποσυμπίεση τους έχει εμπλακεί μία εναλλακτική λύση λογισμικού (και ακολούθως ο επεξεργαστής γενικής χρήσης ή CPU) για λόγους όπως μία ασύμβατη μορφή συμπίεσης/ή και αρχείου. Αυτός ο μηχανισμός ανατροφοδότησης (feedback) επιτρέπει στο παιχνίδι να προσαρμόζει τη ποιότητα του στοιχείου (όπως η ανάλυση υφής) για να αντισταθμίσει τη μειωμένη απόδοση αποσυμπίεσης.

Η MICROSOFT έχει χαλαρώσει σταδιακά τις απαιτήσεις υλικού για το DirectStorage με κάθε σημαντική έκδοση που έχει ανακοινώσει. Αρχικά περιοριζόταν στους NVMe SSDs ως συσκευή αποθήκευσης αλλά αργότερα επέκτεινε την υποστήριξη και για συσκευές AHCI όπως οι SATA SSDs και με τη νέα έκδοση, η υποστήριξη επεκτάθηκε και στους μηχανικούς σκληρούς δίσκους.