Hardware acceleration στο flash???

Published by Petrakeas in Hardware, Software

fraps-flash

Είναι γνωστό ότι οι τελευταίες εκδόσεις του adobe flash 10 χρησιμοποιούν τις δυνατότητες της κάρτας γραφικών (hardware acceleration) αντί του επεξεργαστή για την αναπαραγωγή (αποκωδικοποίηση και scaling) βίντεο. Αυτό σημαίνει ότι ο επεξεργαστής (και ιδιαίτερα αυτός των φορητών συσκευών) δε ζορίζεται, η κατανάλωση ρεύματος είναι χαμηλότερη και η ποιότητα αναπαραγωγής είναι καλύτερη και πιο ομαλή χωρίς σπασίματα.

Ωστόσο αυτό που σε ελάχιστες περιπτώσεις έχω δει να αναφέρεται είναι ότι η διαφορά στις επιδόσεις φαίνεται ΜΟΝΟ όταν το βίντεο παίζει σε fullscreen. Πραγματικά απορώ που αυτό το πολύ βασικό γεγονός έχει τονιστεί ελάχιστα ακόμα και σε μεγάλα sites. Αυτό σημαίνει ότι όταν βλέπετε ένα βίντεο στο youtube δε χρησιμοποιείται hardware acceleration εκτός και αν το βάλετε σε fullscreen.

Για να  διαπιστώσω τα παραπάνω έκανα μερικά test. Έπαιξα ένα 1080p βίντεο μέσα στον firefox (και Internet explorer,chrome) και παρακολουθούσα το CPU και GPU usage (από task manager και ati CCC αντίστοιχα). Τα στατιστικά είναι τα παρακάτω:

σε παράθυρο, fullscreen
cpu:   60%,           5%
gpu:  4%,               10%

Είναι προφανές ότι όταν το βίντεο παίζει σε full screen, το flash εκμεταλλεύεται  τη δύναμη της κάρτας γραφικών. Επίσης ενεργοποίησα το FRAPS, το οποίο λειτουργεί μόνο σε DirectX επιφάνειες. Μόνο όταν το βίντεο έπαιζε fullscreen λειτούργησε το FRAPS. Αυτό σημαίνει ότι σε αυτή την περίπτωση το scaling και rendering του βίντεο το κάνει η κάρτα γραφικών, ενώ όταν τρέχει σε παράθυρο το κάνει ο επεξεργαστής με ό,τι αρνητικές συνέπειες αυτό συνεπάγεται. Ίσως να μη γίνεται να ενσωματωθεί DirectX επιφάνεια στο εσωτερικό του browser, καθώς το rendering της σελίδας το αναλαμβάνει αυτός (πχ Gecko, webkit engine).

Πέρα από τα scaling/rendering που γίνονται στην κάρτα γραφικών μόνο στη fullscreen mode περίπτωση δεν ξέρω αν κάποιες άλλες διαδικασίες γίνονται στην κάρτα ανεξάρτητα του mode. Το σίγουρο είναι ότι αυτές οι διαδικασίες δεν επηρεάζουν την απόδοση, γιατί απενεργοποίησα τελείως το hardware accelration και δεν είδα διαφορά στα CPU/GPU usage στη μη fullscreen περίπτωση.

Οπότε προς το παρόν, αν βλέπετε youtube ή άλλα βίντεο από φορητές συσκευές, σας συνιστώ να τα βλέπετε fullscreen για καλύτερη απόδοση και μεγαλύτερη διάρκεια της μπαταρίας.

Comments (4)

Wise_One
April 4th, 2010 at 8:09 pm

Σίγουρα είναι προτιμότερο να βλέπεις σε fullscreen, πόσο μάλλον μ’ αυτά τα στοιχεία…

Να σου πώ, σε fullscreen δε σου κολλάει καθόλου το βιντεάκι; Σε Chrome ειδικά, πάντα κολλάει σε fullscrenn. Παίζει για λίγη ώρα και μετά κολλάει. Συνεχίζει να παίζει βέβαια, αλλά το fullscreen είναι “κολλημένο”.

Petrakeas
April 4th, 2010 at 8:15 pm

χμμ. Μάλλον θα είναι και θέμα drivers, λειτουργικού κλπ. Εσύ τι χρησιμοποιείς;
Εμένα δε μου κολλάει. Έχω την Ati HD4870. Αν απενεργοποιήσεις το hardware acceleration μέσα από το flash, σου παίζει καλύτερα;

Wise_One
April 7th, 2010 at 9:29 am

Χεχε, τώρα στο λαπτοπ δεν έχω πρόβλημα! Πλάκα έχει… Το σ/κ γυρνάω Θεσ/νίκη και θα τσεκάρω το desktop, εκεί είχε περισσότερο πρόβλημα. Σ’ εκείνον έχω μια HD4650. Θα έχω υπόψη μου το hardware acceleration. Ωραία είναι όταν κάποια προβλήματα εξαφανίζονται από μόνα τους και δε ξέρεις τί “έφταιγε”…

Gerard
January 4th, 2013 at 2:27 am

I constantly spent my half an hour to read this weblog’s posts every day along with a cup of coffee.