Jake2 vs. Quake2 benchmark.

15 stycznia, 2007

(ten wpis jest dopiero zalążkiem i będzie się zmieniał)
Niedawno dostałem linka do gry Jake2, czyli silnika gry Quake2 napisanego w... Javie. Nie tylko działa, ale działa dobrze. Przy okazji wywiązała się drobna dyskusja na liście Java Open School, więc padł pomysł zmierzenia wydajności (na stronie domowej jest coś, ale po pierwsze dla starszej wersji, po drugie dla starej karty graficznej, choć pewnie nie zrobi to różnicy). Środowisko testowe:
AMD Athlon 2200+, 512 MB RAM, Radeon 9200SE (core 225MHz, mem 225MHz), GNU/Linux Debian Etch, kernel 2.6.18.2, fglrx 8.28.8-4 (dystrybucyjne). Generalnie jest to desktop, więc w tle sobie cośtam działało (ale nic krytycznego), warunki były zachowane stałe.
Wyniki:
quake2.exe uruchomiony spod wine (0.9.25-1):
no sound - 800x600 106,0; 106,4 FPS; 1024x768 66,8; 66,7 FPS 1152x864 54,2; 53,9 FPS
sound - 800x600 105,1 105,3 FPS; 1024x768 67,4 67,0 FPS 1152x864 54,2 53,6 FPS

jake2 (wersja 0.9.5):
no sound, fastjogl - 1152x864 62,4; 62,5 FPS
sound, fastjogl - 1152x864 60,2; 60,5 FPS

nosound, jogl - 1152x864 76,6; 79,2 FPS
sound, jogl - 1152x864 73,9; 74,5 FPS
CDN (inne rozdzielczości - Jake2 nie pozwala na zmianę z poziomu gry) i drugi driver dla Jake2)

1. dely napisał(a):
15 stycznia 2007, 11:53:41

To raczej wydajność wine zmierzyłeś.

Natywną wersję sprawdź ;)

2. rozie napisał(a):
15 stycznia 2007, 11:54:52

Natywna oczywiście też będzie. Jak mówię, to jest szkielet. A poszło wine, bo tak uruchamiałem - nie chciało mi się nigdy instalować natywnej, spod wine działa i wydajność OK... ;)

3. mrto napisał(a):
15 stycznia 2007, 11:56:01

Ciekawe. Wolałbym zobaczyć porównanie wydajności na starszym kompie. Taki 466Mhz na przykład.

4. rozie napisał(a):
15 stycznia 2007, 11:59:10

Nie mam dostępu do takiej maszyny (Athlon 1200 MHz to najsłabsze do czego mam dostęp, ale tam nie ma 3d - biurowy desktop). Na stronce Jake2 jest benchmark ze starszym kompem. Generalnie sporo gorzej, bo pewnie i RAMu mniej (a Java lubi RAM), i więcej operacji na RAM (a szyna wolniejsza). Ale tak czy inaczej ten Athlon XP 2200+ to sprzęt sprzed paru lat...

5. rash napisał(a):
15 stycznia 2007, 12:14:45

Ja też czekam na benchmark z udziałem natywnej wersji Q3 na Linuksa.

6. rozie napisał(a):
15 stycznia 2007, 12:15:53

rash: to jest Q2, niestety. ;-)

7. rash napisał(a):
15 stycznia 2007, 12:16:34

A, to przepraszam. W takim razie czekam na bench z natywnym Q2 :-)

8. mrto napisał(a):
15 stycznia 2007, 12:32:03

No to nie ma sensu porównywać wydajności. Silnik q2 był pisany na sprzęt jaki był ówcześnie dostępny. Jeżeli wersja java nie zbliży się choćby do 75% wydajności oryginalnego silnika na starym sprzęcie to nie ma co się podniecać :)

9. rozie napisał(a):
15 stycznia 2007, 12:42:07

mrto: Ja nie zamierzam porównywać prehistorii, tylko dostępne obecnie rozwiązanie, na obecnym sprzęcie. Pamiętam, że w Q2 grałem na p100, 32 RAM i S3 trio przy jakichś 10-20 FPS, w 320x240 (taak VM Javy na pewno będzie działać). I kupiłem akcelerator 3d nawet, i było kilka FPS więcej i w 640x480... Natomiast dobrze można porównać, czy _obecnie_ Java nadaje się do pisania gier tego typu. Tak naprawdę rosną głównie wymagania odnośnie grafiki, czym silnik gry nie do końca się zajmuje - bardziej kwestia sterownika grafiki, karty, no i oczywiście użytej biblioteki. Bo jeśli chodzi o wyciskanie 100% ze sprzętu (poza grafiką) to już dawno programiści odeszli od tego.

10. jam łasica napisał(a):
15 stycznia 2007, 16:28:18

Z Javowych gierek, to polecam Chrome (http://chrome.fpp.pl)

11. sprae napisał(a):
18 lutego 2010, 14:53:22

Po dyskusji na temat asynchroniczności OpenGL doszedłem do takich wniosków:

Twierdzę, że najlepiej wydajność silnika sprawdzisz w możliwie najmniejszej rozdzielczości. Wtedy to karta graficzna nie jest ograniczeniem i może przyjąć bardzo dużo danych.