Jump to content



Benchmarking στα παιχνίδια - Πώς θα έπρεπε να γινόταν


Recommended Posts

Πλέον πρέπει να συνειδητοποιήσουμε ότι το μετρικό "fps", "average fps" και "minimum fps" στα benchmarks των παιχνιδιών δε δείχνουν την ακριβή εικόνα της απόδοσης του συστήματος που θέλουμε να μελετήσουμε. Εδώ θα προτείνω ένα τρόπο που δείχνει με περισσότερη λεπτομέρεια και ακρίβεια τις πραγματικές δυνατότες του συστήματος, καθώς και άμα υπάρχουν αδύνατα σημεία.

Αρχικά θα ξεκινήσω με τον τρόπο που γίνονται τα συνηθισμένα benchmarks.

skyrim-pipa-8296.jpg

Μας δίνουν μία μπάρα, με average fps, άντε και σε μερικές περιπτώσεις minimum. Όταν θα συγκρίνεις το παραπάνω μετρικό, με ένα άλλο σύστημα που έβγαλε 60fps average και 40fps minimum η λογική υπόθεση είναι ότι το 2ρο σύστημα είναι καλύτερο. Η πραγματικότητα όμως μπορεί να είναι διαφορετική.

Προγράμματα που θα χρειαστούν: Fraps, fraps bench viewer και hwinfo.

Προετοιμασία FRAPS

fraps-8292.jpg

Τικ στα FPS/FrameTimes/MinMaxAvg, βγάζουμε το τικ από τα 60s άμα υπάρχει στην έκδοση σας, βάζουμε ένα directory που θα βάζει τα logs και σημειώνουμε το Βenchmarking hotkey

Προετοιμασία ΗWinfo

hwinfo1-8293.jpg

τικ στο sensors only και μετά RUN.

hwinfo2-8294.jpg

Configure

hwinfo3-8295.jpg

Επιλέγουμε από τα Entry αυτά που μας ενδιαφέρουν για το log. Τα βασικά είναι GPU Core Load (ένα για κάθε κάρτα γραφικών που έχουμε) και Core#0 Usage...Core#1 Usage κτλ, όσους πυρήνες/threads έχει ο επεξεργαστής. Σε κάθε ένα από αυτά κάνουμε τικ το Sensor Monitor Enabled και Show Reading. Στα υπόλοιπα entries απλά αδειάζουμε τα τικ. Πατάμε Close, και όταν είμαστε έτοιμοι για το benchmark πατάμε Logging Start. Θα μας βγάλει να ονομάσουμε το αρχείο του log (log.csv π.χ.).

TEST SETUP

To μηχάνημα αποτελείται από έναν i5 2500k, 2x460gtx 768MB σε SLI και 8GB DDR3 1600

systemlast-8288.jpg

Benchmarking

Το παιχνίδι που θα εκτελέσουμε το benchmark είναι το Skyrim (no mods/DLC) και αποτελεί την εισαγωγή, από την άμαξα μέχρι και το σημείο που επιλέγουμε την εμφάνιση του χαρακτήρα. (Προφανώς θα ήταν προτιμότερο να γίνει benchmark σε κάποιο άλλο σημείο, αλλά για πρακτικούς λόγους θα αρκέσει). Πατάμε το Logging Start του HWinfo και το hotkey για το benchmark του fraps.

Video Options

options-8283.jpg

Μετά το πέρας του benchmark, ανοίγουμε το αρχείο frametimes.csv του Fraps με το Fraps Bench Viewer, ενώ το log του HWinfo με κάποιο Excel (ή openoffice calc) και φτιάχνουμε το γράφημα.

ΑΠΟΤΕΛΕΣΜΑΤΑ

HWinfo Log

skyrim-cpu-gpu-8285.jpg

Το γράφημα μας δίνει το usage% των πυρήνων του επεξεργαστή, και των GPU ανά χρόνο. Από αυτό το γράφημα μπορούμε να εξάγουμε τα εξής συμπεράσματα:

1)Το παιχνίδι χρησιμοποιεί όλους τους πυρήνες;

Στην περίπτωση μας ναι. Βλέπουμε ότι και οι 4 πυρήνες αξιοποιούνται υπό κάποια μορφή.

2)Υπάρχουν bottlenecks από την μεριά του επεξεργαστή;

Στην περίπτωση μας όχι. Στην χειρότερη περίπτωση αγγίζει το 50% cpu usage. Θα υπήρχε bottleneck άμα το cpu usage% ήταν ψηλό, ενώ το GPU load χαμηλό.

3)Μπορώ να ανεβάσω την ποιότητα των γραφικών χωρίς να έχω αντίκτυπο στην απόδοση; ((Mε το VSYNC ενεργοποιημένο) Από τη στιγμή που στο μεγαλύτερο ποσοστο του benchmark η χρήση των GPU ήταν 100%

όχι. Άμα όμως όλο το γράφημα όμως παρουσίαζε την μορφή που έχουν οι καμπύλες στο 2ο μισό του γραφήματος (οι gpu < 70%) ναι. Αυτό θα σήμαινε ότι η gpu έχει περιθώριο ακόμα να αποδώσει.

FRAPS LOG

fps tab στο fraps bench viewer

skyrim-fps-8286.jpg

Εδώ βλέπουμε τα fps/χρόνο. Το average είναι το σημείο που είναι πυκνό το γράφημα, και βρίσκεται στα 60fps (Το skyrim από default έχει το vsync ενεργοποιημένο). Οι γραμμές που πάνε πάνω προς τα πάνω αντιπροσωπεύουν σημεία που τα fps>60 (θετικό), ενώ οι γραμμές που πάνε προς τα κατω, σημεία που τα fps<60 (αρνητικό).

time tab στο fraps bench viewer

skyrim-time-8287.jpg

Εδώ βλέπουμε την "καθυστέρηση" ή αλλιώς τον χρόνο που έκαναν τα frames να κάνουν render. Οι γραμμές που πάνε πάνω προς τα πάνω αντιπροσωπεύουν σημεία που τα frames έκαναν πάνω από 16ms για να γίνουν render (αρνητικό) ενώ οι γραμμές προς τα κάτω τα σημεία που τα frames έκαναν λιγότερο από 16ms για render.

ΑΝΑΛΥΣΗ:

Το πιο σημαντικό πράγμα για ομαλό gameplay είναι το avg time 16,78 (60FPS) και 1% time 17,90 (56fps). Φαίνεται πάνω και αριστερά στα γραφήματα.

avg time 16,78 (60FPS): Αντιπροσωπεύει το μέσον όρο του χρόνου που έκανε render το κάθε frame (16,78ms) και το average fps (60). Για το average fps όλοι ξέρουμε τι είναι. Το 16,78ms όμως τι είναι;

Τα περισσότερα monitor έχουν 60Hz refresh rate. Αυτό σημαίνει ότι ανανεώνουν την εικόνα 1 φορά κάθε 60sec, ή αλλιώς 1/60= 16,67ms. Για να παίζει το παιχνίδι στη "σωστή του ταχύτητα", θα πρέπει το avg time να πλησιάζει το 16,67ms. Πιο χαμηλά είναι θετικό. Πιο ψηλά και θα πάει αργά το παιχνίδι. Σε αυτή την περίπτωση, έχουμε average 16,78ms που είναι αρκετά καλά. Προφανώς, για 120Hz monitors ο στόχος είναι 1/120=8,3ms!!!

1% time 17,90 (56fps). Εδώ με απλά λόγια, 1 φορά στις 100 το render time θα πέσει στα 17,90ms. Αυτό αντιπροσωπεύει την ομαλότητα του παιχνιδιού. Όσο πιο μεγάλο είναι το νούμερο, τόσο μερικές φορές θα παρατηρούμε κάποιο "λόξιγκα" ή αλλιώς spike στα fps του παιχνιδιού και το frame rate θα πέσει στα 56. Στόχος, όπως και πριν πρέπει να είναι το 16,67ms.

Υπάρχει και το 0.1% time. Δεν είναι τόσο μεγάλης σημασίας όμως, μιας και αντιπροσωπεύει 1 frame /1000 (ή ένα frame κάθε 17s) ότι θα κάνει 35,62ms και θα πέσουν στα 28 τα fps.

Μπορούμε να αναλύσουμε και περαιτέρω τα γραφήματα. π.χ. την ύπαρξη και το μέγεθος του "stuttering" στα sli/cf. Ένα παράδειγμα stuttering στο far cry 3.

emfanes-8279.jpg

TL: DR Εκτός από τα average και minimum fps, μια καλή ιδέα δίνει το average frame render time και το 1% frame render time. Επίσης θεμιτή είναι η ύπαρξη και γραφήματος CPU/GPU load

Link to comment
Share on other sites

Πλέον πρέπει να συνειδητοποιήσουμε ότι το μετρικό "fps", "average fps" και "minimum fps" στα benchmarks των παιχνιδιών δε δείχνουν την ακριβή εικόνα της απόδοσης του συστήματος που θέλουμε να μελετήσουμε.

skyrim-pipa-8296.jpg

Μας δίνουν μία μπάρα, με average fps, άντε και σε μερικές περιπτώσεις minimum. Όταν θα συγκρίνεις το παραπάνω μετρικό, με ένα άλλο σύστημα που έβγαλε 60fps average και 40fps minimum η λογική υπόθεση είναι ότι το 2ρο σύστημα είναι καλύτερο. Η πραγματικότητα όμως μπορεί να είναι διαφορετική.

Ωραιο το αναλυτικοτερο του πραματος...αλλα μπορεις να βρεις μια πραγματικη κατασταση οπου το 2ο δεν θα ηταν καλυτερο του πρωτου??

Link to comment
Share on other sites

Ωραιο το αναλυτικοτερο του πραματος...αλλα μπορεις να βρεις μια πραγματικη κατασταση οπου το 2ο δεν θα ηταν καλυτερο του πρωτου??

Προφανώς. Δώσε μου 10 λεπτά.

Link to comment
Share on other sites

Στο παραδειγμα που εδωσε δεν γινεται..Απο τη στιγμη που το δευτερο υπερτερει και στα minimum και στο average δε παιζει να γινει κατι τετοιο.

Αν το δευτερο ειχε υψηλοτερο min αλλα λιγοτερο average τοτε οκ..να καταφυγουμε στο αναλυτικοτερο...αλλα απο οσα bench εχετε τρεξει ([MENTION=324]billpeppas[/MENTION] ..μιας και ασχολεισαι περισσοτερο) ποσες φορες το εχεις(εχετε) δει?

Link to comment
Share on other sites

Αυτό αν δεν με απατά η αρκετά ελαττωματική πλέον μνήμη μου, συνέβαινε σε κάποια games στην περίπτωση GTX 480 vs Radeon 5870 ( δηλαδή η GTX 480 είχε υψηλότερα minimum fps, αλλά χαμηλότερο average ).

Συχνό φαινόμενο δεν θυμάμαι να ήταν αυτό. ( μιλάω πάντα για Single GPU συστήματα )

Link to comment
Share on other sites

Στο παραδειγμα που εδωσε δεν γινεται..Απο τη στιγμη που το δευτερο υπερτερει και στα minimum και στο average δε παιζει να γινει κατι τετοιο.

Αν το δευτερο ειχε υψηλοτερο min αλλα λιγοτερο average τοτε οκ..να καταφυγουμε στο αναλυτικοτερο...αλλα απο οσα bench εχετε τρεξει ([MENTION=324]billpeppas[/MENTION] ..μιας και ασχολεισαι περισσοτερο) ποσες φορες το εχεις(εχετε) δει?

(μέχρι να κατέβει το farcry3, γιατί δε το έχω εγκατεστημένο :() Να σου δώσω ένα παράδειγμα, που έχει μεν μερικά κενά, αλλά αντιπροσωπεύει αυτό που εννοώ:

1-8299.jpg

bc2-6870cfx-8297.gif

bc2-gtx570-8298.gif

Οι 6870 έχουν περισσότερα fps, και άμα δεις έχουν <20ms/frame. Η 570 έχει τα μισά fps και μεγαλύτερο ms/frame. Σε ποια νομίζεις ότι θα έχεις πιο ομαλό gameplay;

Link to comment
Share on other sites

Στο παραδειγμα που εδωσε δεν γινεται..Απο τη στιγμη που το δευτερο υπερτερει και στα minimum και στο average δε παιζει να γινει κατι τετοιο.

Αν το δευτερο ειχε υψηλοτερο min αλλα λιγοτερο average τοτε οκ..να καταφυγουμε στο αναλυτικοτερο...αλλα απο οσα bench εχετε τρεξει ([MENTION=324]billpeppas[/MENTION] ..μιας και ασχολεισαι περισσοτερο) ποσες φορες το εχεις(εχετε) δει?

Πιθανοτητα να δεις game με καλυτερα minimum frames ενω εχει χειροτερα max σπανιζει εδω και αρκετα χρονια.Ειναι δυνατον αν μια εταιριας ο driver ηταν πολυ καλυτερα απο τον αλλο optimized και δε ετρωγε low gpu usage spikes αλλα με τα console port που ειναι ολα πια αντε να το βρεις πια αυτο.

Link to comment
Share on other sites

μα δε μιλαμε για max (οπου και συμφωνω εκει) αλλα για average..([MENTION=163]Helly[/MENTION])

Καλο το stuttering δεν αντιλεγω..

y.g

Aν και επειδη σιγουρα δεν το κατεχω το cf/sli δε ξερω κατα ποσο θα ηταν unplayable το συγκεκριμενο παιχνιδι.

Μιας και δεν βλεπω καποια μπαρα να χτυπαει ταβανι στο cf...μαλλον smooth θα ηταν στα ματια του παικτη....δεδομενου οτι στη χειροτερη βγαζει τα ιδια fps με την 570.

Link to comment
Share on other sites

Αν κατάλαβα καλά αυτό που θέλει να πει ο Volrath είναι ότι ενώ μια κάρτα έχει καλύτερο min/average μπορεί ο χρόνος φόρτωσης του κάθε frame να αποκλίνει τόσο ώστε τελικά το μάτι μας να ταλαιπωρείται ή να μην προσφέρει γενικά ομαλό gameplay. Στο παράδειγμα με την 6870 και την 570 κοιτώντας τα διαγράμματα ms/frame αυτό καταλαβαίνω.

Link to comment
Share on other sites

Μα το Θεό τι να πώ. Όταν πρωτοέβαλα το farcry3 με είχε σχίσει στο stuttering. Χάλια μαύρα. 4 ώρες μου πήρε να το στρώσω το παιχνίδι. Τώρα, ότι σκ@τ@ και να του κάνω, πάει νερό.

Τι προσπαθούσα να κάνω: Σε sli underclock average fps: 56. Minimum 30. Με μονή κάρτα average 47, minimum 10. Θα έλεγες ότι σε sli θα είναι καλύτερα.

Και άμα παίζει χοντρό stuttering και έχεις το εξής;

1-8300.jpg

Τι είναι πιο ομαλό; Η μονή κάρτα που για τον Α ή Β λόγο (λίγη vram στην περίπτωση μου) σε κάποιες φάσεις σκαλώνει, ή σε sli που τα fps πάνε νερο->στοπ->νερό->στοπ.

Θα προσπαθήσω να σου δώσω real world results το Σ/Κ.

EDIT: Τώρα θα μου πεις μονές κάρτες που να κάνουν τόση τράμπα δεν υπάρχουν. Άμα η Χ κάρτα έχει καλό tesselation ενώ η Y δεν έχει τι γίνεται; Μπορεί η Χ κάρτα να είναι πιο γρήγορη, αλλά στα closeups να πέφτουν τα fps στο πάτωμα. Υπάρχουν πολλες άλλες περιπτώσεις (τα lightning effects π.χ. του dirt, λίγη vram, physics κτλ κτλ)

Link to comment
Share on other sites

[MENTION=1199]Volrath[/MENTION]

Αν και σε αυτά που λες έχεις απόλυτο δίκιο, δυστυχώς η πραγματικότητα είναι λίγο διαφορετική. Από την άποψη ότι δεν ξέρεις αν το όλο setup είναι το ιδανικό.

Δηλαδή, υπό κανονικές συνθήκες βάζεις ένα minimum μέσα στις μετρήσεις (αν θες να είσαι "κύριος" και για να τελειώσεις κάποτε τις μετρήσεις) ώστε αν υπάρχει stuttering (άρα και "framedrops") θα δεις το minimum να παίρνει μονοψήφιες τιμές.

Από εκεί και πέρα το μεγαλύτερο πρόβλημα είναι οι drivers. Δες μόνο το πόσο μεγάλη διαφορά είχαμε με τους τελευταίους drivers της AMD. Πόσο χρόνο να έχεις στη διάθεσή σου όταν δοκιμάζεις κάτι και κατά πόσο το λειτουργικό σου είναι εντελώς ανεξάρτητο από το σύνολο gpu+driver; Και οκ μπορεί ένας driver να είναι πιο συμβατός με ένα συγκεκριμένο παιχνίδι. Είναι απολύτως Optimized για το δικό σου hw; Με κάτι πολύ καινούργιο που περιμένει ακόμα Optimizations;

Μπορεί το stuttering να είναι από ένα service ή από κάποιον τρίτο driver. Δεν μπορείς να είσαι απόλυτος. Θυμάσαι το stuttering που είχαν όσοι έπαιζαν bf3 με το HT On; Το οποίο και πάλι είτε δεν το είχαν όλοι, είτε δεν το παρατηρούσαν όλοι.

Οκ, άντε και έβαλες drivers που κάνουν σωστό utilization το sli ας πούμε, άντε και έκλεισες όλα τα services. Ξέρεις αν το παιχνίδι κάνει κόνξες σε κάποιο συγκεκριμένο setup? Π.χ με τους 13.2 στο Laptop με την 5470 έχω ότι να 'ναι εικόνα στο Mass Effect 3. Τι και αν δεν έχει stuttering (π.χ), είναι άχρηστος σαν driver για την περίπτωσή μου με το συγκεκριμένο συνδυασμό παιχνιδιού/gpu.

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

Link to comment
Share on other sites

Κάθε άλλο ρε συ.

Και τα 2 τεστ είναι καθολίκά.

Υπάρχουν 2 συστήματα με διαφορετικούς επεξεργαστές αλλά ίδιες κάρτες γραφικών;

Κάνεις αυτό το CPU/GPU τεστ. Προφανώς θα υπάρχουν διακυμάνσεις, αλλά συμπέρασμα μπορεί να βγάλεις. Όποιος έχει λιγότερη %usage είναι γρηγορότερος/καλύτερα optimized για αυτό το παιχνίδι.

Μετά το άλλο σύστημα περιγράφει με ένα γράφημα πόσο ομαλά τρέχει το παιχνίδι. Δεν είναι ανάγκη να φτάσουμε στα άκρα όπως το παράδειγμα μου με το μικρότερο average/min. Αλλά όταν έχεις 5% διαφορά από την μία κάρτα στην άλλη, αυτό το γράφημα/στατιστικά μπορεί να σπρώξει κάποιον προς την καλύτερη επιλογή.

Προφανώς με τους drivers αλλάζει το θέμα. Αλλά αυτό γινόταν πάντα. Και με τα τυπικά fps benchmarks το ίδιο συμβαίνει. Στην πάροδο ενός χρόνου με τους drivers μπορεί να κερδίσεις και 30-40% απόδοση σε κάποια παιχνίδια. Αυτό όμως δε σημαίνει ότι είναι άχρηστα τα benchmarks, γιατί αντιπροσωπεύουν την απόδοση της κάρτας εκείνη τη στιγμή.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.