Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
01.02.2002, 15:57
Prefect



Vielleicht ist das ja Old News, aber ich bin neulich über folgende Seite gestolpert: http://home.att.net/~firebinder/halflife/

Dort gibt es eine Test Chamber Abteilung, in der der Autor ein paar recht interessante Experimente (mit Ergebnissen) zu r_speeds macht. Er kommt dabei zu folgendem Schluß:

(12 * wpoly) + epoly should not exceed 8000

Die 8000 sind sicher bei weitem zu niedrig für moderne Hardware, aber der interessante Fakt bleibt bestehen: ein wpoly ist so "teuer" wie 12 epolys.

Was mich aber interessiert ist, ob dieser Faktor für andere Systeme anders ist (der Autor hat ein ziemliches Low-End-System). Ich werde den Test auf jeden Fall mal nachvollziehen und sehen was dabei rauskommt...

Warum das so ist? Ganz sicher weiß ich das natürlich nicht, aber ein paar Dinge dir mit reinspielen (könnten):
- epolys sind generell kleiner als wpolys (gehen also weniger auf die Fillrate)
- epolys werden vermutlich als Teile eines Studiomodels effizienter gerendert, da u.a. die Textur zwischen einzelnen Polygonen nicht geändert werden muß
- wpolys verwenden Multitexture (für Lightmaps), epolys nicht

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche
001
01.02.2002, 16:41
Metew



hat da vielleicht was mit vis zu tun? Den mit epolys bringt ja vis nix

--

SWCOOPFORCE-TEAM

NEUE HOMEPAGE/SCREENS: SWCOOPFORCE-MOD | Helft mit für Legalisierung!

zum Seitenanfang zum Seitenende Profil || Suche
002
01.02.2002, 16:42
Exec



hmm also bei mir is so bei 800 wpolies und 8000epolies die grenze ... da gehen die fps von 99 auf ~50 runter .... (1ghz athlon,384mb ram, geforce2pro)
1zu12 is ein wenig zu viel, finde ich ... 1zu10 is da besser .... obwohl es schon hinhaun könnte ...

--

"selbermachen rockt am meisten :D" - -LeJean-

zum Seitenanfang zum Seitenende Profil || Suche
003
01.02.2002, 18:16
eizdealer



ich find das sehr interessant!

also aus meinen persönlichen erfahrungen (*gg*) hab ich gemerkt, dass models teilweise viel besser aussehen (z.b. pflanzen) und auch performance sparen. ich denke, man kann schon ein paar details mit models machen, aber das meisste mit normalen brushes.

--

ICQ | eizdealer@modarchiv.net | Modarchiv | -> HOMEPAGE <-
Texture Artist aus Leidenschaft. Wirklich ;)

zum Seitenanfang zum Seitenende Profil || Suche
004
01.02.2002, 18:18
Exec



so isses! aba auch player, monster,etc gehen auf epolies ... vorallem monster *g*

--

"selbermachen rockt am meisten :D" - -LeJean-

zum Seitenanfang zum Seitenende Profil || Suche
005
01.02.2002, 20:22
Juggernaut



echt exe? könnte es sein, dass es daran liegt das es auch models sind? ;)

in meinen mp maps bau' ich details (lampen, flaschen, katzen, wäscheklammern, ebenholzduftölflakonetuis usw.) eigentlich immer als model ein.

--

Textmode Quake

zum Seitenanfang zum Seitenende Profil || Suche
006
01.02.2002, 21:26
Exec



uuiii, ich mach die gegner immer als prefab! ich hab immer so 2fps ... müssen ja auch schön rund sein

--

"selbermachen rockt am meisten :D" - -LeJean-

zum Seitenanfang zum Seitenende Profil || Suche
007
02.02.2002, 08:01
m.a.b.b.b



hmm, das der unterschied so groß ist hät ich nicht gedacht...
muss mir mal ne aussagekräftige testanordnung ausdenken...(vielleicht ein paar hundert snarks..:)
achja...der link ist tot...

--

-=B.L.Ä.N.D.E.R=-

zum Seitenanfang zum Seitenende Profil || Suche
008
02.02.2002, 10:26
KhanRKerensky



Was auch wichtig ist: Models verwenden teilweise nur eine Textur.

--

"[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book

zum Seitenanfang zum Seitenende Profil || Suche
009
02.02.2002, 12:01
Linga
Administrator


massig nötige routinen der engine werden auf objekte nicht angewandt. heute sinds noch viel mehr und morgen sinds garkeine mehr, weil dann auch modells alle eigenschaften eines levelpolygons haben.
da sind alle visroutinen, kollisionsabfrage, etc. das ist bei modells alles "vereinfacht" durch simple boundingboxen etc.

modells sehen bei hl besser aus weil die kanten schattiert werden (smoothing) und sie somit weicher erscheinen. ausserdem ist es mit planaren polys einfach einfacher koplexe und kleine objekte zu machen. allerdings werden objekte immer nur von einer lichtquelle beeinflusst und werfen keinen schatten. ausserdem hat man eben bessere möglichkeiten objekte zu texturieren (uv mapping)

--


Dieser Beitrag wurde am 02.02.2002 um 12:03 von Linga bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
010
02.02.2002, 14:26
Prefect



Im Endeffekt spielen VISing und Kollisionsabfrage aber gar keine Rolle. Das VISing ist bei Quake-Engines ja vorberechnet, und Kollisionsabfragen gibt's in statischen Szenen keine. Es geht primär um das eigentliche Rendern.

Was die Berechnungen angeht sind epolys ja eigentlich sogar komplexer als wpolys, denn ihre Koordinaten werden dynamisch aus den Animationsdaten berechnet (über Bones usw...). Die Größe der Polygone scheint übrigens keine Relevanz zu haben - ich habe mal ein paar Test gemacht (siehe unten), und die Füllrate hatte bei allen Versuchen keinerlei Auswirkungen. Oder andersrum: ob die Models nun weit weg oder nahe dran waren hat keinen Unterschied gemacht.
Eine mögliche Erklärung bleibt, daß die Models weniger Texturen verwenden, und zudem kein Multitexturing verwenden. Ein anderer Faktor ist womöglich, daß HL die epolys einfach effizienter an OpenGL weiterleitet - mit Vertex Arrays usw..

Models sehen bei HL einfach deswegen besser aus, weil sie mehr Polygone aufbieten können. Op4 hat ja IIRC Models für Details verwendet (so Werkzeugkästen) - die hätte man locker als Brushes machen können - aber es wäre halt mehr auf die Performance gegangen.

Das Objekte keinen Schatten werfen ist klar - das würde einfach viel zu sehr auf die Performance gehen. Auch neuere Spiele haben keinen wirklich dynamischen Schatten in dem Sinn (z.B. RTCW hat keine dynamischen Schatten). Wie das dann bei Unreal 2 und Doom 3 aussieht bleibt abzuwarten.

Ich habe wie gesagt ein paar Tests gemacht. Mein System:
Athlon 550Mhz, 192MB RAM
TNT2, 32MB, AGP
Windows 2000, neueste Referenztreiber von NVidia

Dabei habe ich in einen großen, einfachen Raum verschiedene Monster und Säulen usw.. reingestellt. Ein paar der Ergebnisse:
- die Engine rendert ca. 615 epolys / ms
- Modelvielfalt, also viele verschiedene Modeltypen gleichzeitig, kann auf die Performance kommen, wenn auch nur sehr wenig

- die Engine rendert ca. 100 wpolys / ms
- func_walls splitten die Welt zwar nicht und können damit die wpolys reduzieren, dafür werden sie bis zu 15% langsamer gerendert als pure wpolys
- Texturvielfalt wirkt sich auf die Performance aus: eine Szene, bei der jeder Brush seine eigene Textur hatte lief ca. 8% langsamer als eine Szene, bei der auf allen Polygonen die selbe Textur lag

Wobei man zur Texturvielfalt natürlich sagen muß, daß die Engine sowieso für jedes Polygon zumindest eine Textur (nämlich die Lightmap) wechseln muß.

Übrigens sind 50 fps ziemlich gut. Eigentlich kann man sich erst unterhalb von 30fps beschweren, und bis 20fps ist ein Spiel (zumindest im Singleplayer) noch gut spielbar.

cu,
Prefect

--

Widelands - Gemütliche Aufbaustrategie, Free Software
Noch ein Blog - Lerne, wie die Welt wirklich ist, aber vergiss niemals, wie sie sein sollte.

zum Seitenanfang zum Seitenende Profil || Suche