Forum PCLab.pl: Procedura testowania CPU w grach - Forum PCLab.pl

Skocz do zawartości

Otwarty

Ikona Ostatnio dodane tematy

Ikona Najnowsze pliki

Strona 1 z 1
  • Nie możesz rozpocząć nowego tematu
  • Nie możesz odpowiadać w tym temacie

Procedura testowania CPU w grach Oceń temat: **--- 4 Głosów

#1 Użytkownik jest niedostępny   ghs 

  • Uzależniony od forum
  • PipPipPipPipPip
  • Grupa: Forumowicze
  • Postów: 4243
  • Dołączył: Wt, 03 Cze 08

Napisany 21 Grudzień 2012 - 10:57

Od jakiegoś czasu powtarzam że sam tylko AVG_FPS nie nadaje się do testowania CPU w grach. Co zatem wykorzystać aby tester nie miał obliczeń więcej niż samego testowania a czytelnik miał prosty w odczycie parametr?
Samo pojęcie płynności w grach jest bardzo względne i zależne od personalnej percepcji więc nie lada wyzwaniem jest połączenie trzech cech: szybkość wyniku dla testera, łatwość odbioru dla czytelnika i żeby to był rzeczywiście działający statystyczny model opisujący zjawisko płynności. Rozwiązanie jest następujące: Dynamiczny Przedział Płynności per Procesor (DPPPP) jako uzupełnienie AVG_FPS. Jak to wyliczyć? Może po kolei:

1. Narzędzie pomiarowe to FRAPS i pomiary frametimes czyli odstępy (w milisekundach) pomiędzy poszczególnymi klatkami. Z pliku pomiarowego odrzucamy co najmniej jeden promil (ale nie więcej niż pięć promili!) największych różnic pomiarów (kolumna C w pliku analiza). Robimy to w celu pozbycia się pomiarów niestatystycznych, które mógłby nam obarczyć błędami późniejszą analizę. Przykładowy plik z pomiarem z FRAPS wygląda jak w załączeniu:
<<crysis 2012-12-17 10-19-58-24 frametimes.csv>>
http://speedy.sh/vcj...-frametimes.csv

2. Następnie dokonujemy podstawowego przekształcenia danych wejściowych jak w arkuszu analiza.xls. Oczywiście możliwa jest tu pełna automatyzacja wszystkich wyliczeń. Tzn tester po wskazaniu pliku wsadowego od razu otrzyma DPPPP ale ja zarabiam na chleb pisaniem softu więc wszelka automatyzacja to już na PW, tu tylko idea DPPPP

załącznik <<analiza.xls>>
http://speedy.sh/tpSWv/analiza.xls

3. Suma pomiarów z kolumny C podzielona przez ilość pomiarów to Średni Czas Odstępu Pomiędzy Klatkami (AVG_FT). Warto zauważyć że z AVG_FT szybko otrzymujemy AVG_FPS z wzoru AVG_FPS=1000/AVG_FT

4. Określamy największą wartość frametimes (czyli największy czas odstępu pomiędzy poszczególnymi klatkami tzw domniemane mikroprzycięcie) z kolumny C: MAX_FT. MAX_FT to wartość ściśle związana z minimalnym FPS GDYŻ MIN_FPS=1000/MAX_FT. Posłuży nam do wyliczenia jednostki DPPPP.

5. Jednostkę przedziału DPPPP określamy standardową normą matematyczną tzn iloraz różnicy i pierwiastka kwadratowego z tejże różnicy:
Jednostka_DPPPP=(MAX_FT-AVG_FT)/SQRT(MAX_FT-AVG_FT) w naszym przykładzie wynosi około 6,4
Jak widać jednostka jest dynamiczna per MAX_FT. Im większe spadki tym jednostka jest mniejsza i co za tym idzie DPPPP będzie węższy.

6. Określenie kresów przedziału DPPPP to nic innego jak odjęcie (kres dolny) i dodanie (kres górny) do AVG_FT jednostki wyliczonej w punkcie 5. W naszym przykładzie, przedział DPPPP będzie się zawierał, pomiędzy odczytami z kolumny C, od 19ms do 30ms

7. Następnie zliczamy ile było pomiarów 19, 20,…, 29, 30

8. Suma z punktu 7 dzielona przez liczbę wszystkich pomiarów da nam końcowy wynik DPPPP wyrażony w procentach: 1785/2054=87%

I to koniec.

Oczywiście pomiary dla różnych CPU muszą być wykonywane na tej samej karcie graficznej.
Procedura w dokładnie takiej formie jak powyższa nie nadaje się do testowania wydajności kart graficznych bo czasami moglibyśmy otrzymać kuriozalne wnioski


P.S. czym się różni DPPPP od AVG_FPS? to uzupełnienie średniej arytmetycznej wychwytujące przypadki:
a) dwa CPU mają taki sam AVG_FPS a na jednym z nich jakby grało się płynniej. DPPPP obsługuje ten przypadek następująco, procesor mający większe spadki FPS dynamicznie ma zmniejszany DPPPP więc siłą rzczy mniej pomiarów zostanie wyraportowanych z tego przedziału
b) procesor A ma większy AVG_FPS niż procesor B a jednak na procesorze A gra się jakby gorzej. To oczywiście związane jest z tym, że wysoką średnią procesor A może nadrabiać czasowym dużym (na pewno większym niż procesor B) maksymalnym FPS. Pomiar DPPPP będzie w takim wypadku bezwzględnym sędzią. Spadki FPS ponownie ograniczą szerokość pzredziału DPPPP procesora A i czarno na białym będzie widać przewagę procesora B

Prostota przekazu, dla czytelnika, jest też zadowalająca (AVG_FPS+DPPPP) i wystarczająca. Czarno na białym AVG_FPS i jak jest ten AVG_FPS "trzymany" przez dany procesor:
Dodaj obrazek

Nie dziękować :) Procedury nie będę patentował :E Uwagi i pytania mile widziane ;)
Pzdr

Ten post był edytowany przez ghs dnia: 21 Grudzień 2012 - 15:47


Strona 1 z 1
  • Nie możesz rozpocząć nowego tematu
  • Nie możesz odpowiadać w tym temacie

1 Użytkowników czyta ten temat
0 użytkowników, 1 gości, 0 anonimowych