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



So.. bevor ich am Montag nach Irland verschwinde will ich euch doch noch was zu denken geben *g*

Die meisten dürften ja etwas mit dem Begriff r_speeds anfangen können. Bei den r_speeds gibt es zwei unterschiedliche Kategorien von Polygonen, die wpolys (die Polygone auf Brushes) und die epolys (Polygone von Studiomodels, z.B. Spielermodels). Jetzt heißt es immer, wpolys sollten höchstens 600 sein (obwohl man inzwischen dieses Limit natürlich auch anheben kann). Die epolys gehen allerdings locker über die 3000... Und es ist durchaus so, daß man epolys in wpolys "tauschen" kann. Allerdings ist das Verhältnis bei weitem nicht 1:1, es scheint so, als ob epolys schneller gerendert werden könnten. Ich hab mal ein paar Tests gemacht, und es sieht durchaus so aus, als ob man 600 wpolys gegen mindestens 4000 wpolys tauschen kann (die Ergebnisse sind sicher von Computer zu Computer verschieden).

Die Frage ist: Warum zum Teufel ist das so?
Ich habe jetzt mal drei mögliche Lösungen zusammengestellt:

1. Epolys sind kleiner, werden deshalb schneller gerendert.
Das könnte durchaus so sein, allerdings ist es glaub ich (in Anbetracht der Füllraten heutiger Grafikkarten) höchstens bei großen Auflösungen die Ursache.

2. Epolys sind in Studiomodels enthalten, Studiomodels werden anders gerendert
Ich weiß nicht, ob das als Erklärung erhalten kann, weil ich nicht weiß wie die HL-Engine Studiomodels rendert. Die Theorie ist die: Es gibt drei Möglichkeiten, eine Reihe von Polygonen zu rendern: Einzeln, als Trianglefan und als Trianglestrip. Die erste Methode ist leicht zu verstehen, und wird für wpolys verwendet. Beim Trianglefan werden mehrere Dreiecke auf einmal an die Grafikkarte gesendet, die alle eine Ecke gemeinsam (nützlich für Kreise und ähnliches). Beim Trianglestrip werden mehrere Dreiecke aufeinmal gezeichnet, wobei jedes Dreieck jeweils eine Seite mit dem nächsten Dreieck gemeinsam hat. Ich bin mir nicht sicher, aber auf Grund dessen wie Studiomodels aufgebaut sind, würde es sich anbieten, diese Techniken zu verwenden um sie zu rendern. Und da Trianglefans und Trianglestrips einiges schneller sind als das einzelne Rendern, wäre das auch eine Erklärung.

3. Beim Epoly-Rendern treten weniger Texturwechsel auf
Dazu muß man wissen, daß ein Texturwechsel verdammt teuer ist. Einmal den Renderer auf eine neue Textur umzustellen kann leicht soviel kosten wie 100 Dreiecke zu rendern. Natürlich hängt das von der Grafikkarte, dem Grafikspeicher, dem Treiber, Systembus und vielem mehr ab, aber es ist auf keinen Fall zu vernachlässigen.
Und jetzt kommt eine kleine Rechnung:
- ein Playermodel (600 Polygone) hat normalerweise 2 Texturen, wenn's hochkommt 3. Das heißt auf 600 epolys kommen 3 Texturwechsel.
- wenn du 600 wpolys auf dem Bildschirm hast, siehst du allermindestens 10 verschiedene Texturen, und das auf einer verdammt langweiligen Karte. Man kann wahrscheinlich eher mit 20 Texturwechseln pro 600 wpoly rechnen.
Wenn jetzt ein Texturwechsel die Rechenzeit von 100 Polygonen kostet würde sich dafür ergeben:
600 epolys entspricht 900 "Polygonzeiten"
600 wpolys entspricht 2600 "Polygonzeiten"

Wahrscheinlich ist es eine Kombination aus diesen 3 Faktoren (und vielleicht gibt es ja sogar noch mehr!), durch die wpolys soviel rechenintensiver werden als epolys.

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
26.08.2000, 16:46
-GTJ-



hmmmmm
dann könnte man ja einfach alles in einem raum, nur die wände nicht -- zum vis blocken -- zu entitys machen, jetzt können die dinger ja auch schatten werfen.
Dadurch würde alles schneller...
WENN ich das alles richtig verstanden habe, dann denke ich trotzdem:
"Wo ist der Haken?"

--

http://www.levelediting.de
"Ich weiß nicht, welche Waffen im nächsten Krieg zur Anwendung kommen, wohl aber, welche im übernächsten: Pfeil und Bogen." (Albert Einstein)

zum Seitenanfang zum Seitenende Profil || Suche
002
26.08.2000, 16:57
Linga
Administrator


epolys werden nicht in die berechnung von dynamischen lichteffekten, echtzeitschatten etc genommen, sie werden in kaum eine berechnung eingebunden, in die wpolys benötigen.

--

zum Seitenanfang zum Seitenende Profil || Suche
003
26.08.2000, 17:03
Linga
Administrator


@GTJ:
viele spiele machen es fast so, wie du sagst. sie machen alle details, sein es möbel, gebisch, ganze langschaften(fakk2), besonders runde objekte etc aus 3d objekten, welche in MAX oder lightwave erstellt wurden. diese objekte haben verschiedenste vorteile:
man kann env_maps darauf legen, spieglungen etc erstellen, kanten runden, texturen besser anpassen, sie zersplitten ihre umgebung nicht etc.

--

zum Seitenanfang zum Seitenende Profil || Suche
004
26.08.2000, 17:04
-GTJ-



Ja aber....
mit den ZHLT ist es doch möglich, dass auch func_s schatten werfen!
Naja
ich werde ganz bestimmt nicht alles in einem raum zu funcs machen...

--

http://www.levelediting.de
"Ich weiß nicht, welche Waffen im nächsten Krieg zur Anwendung kommen, wohl aber, welche im übernächsten: Pfeil und Bogen." (Albert Einstein)

zum Seitenanfang zum Seitenende Profil || Suche
005
26.08.2000, 17:15
Linga
Administrator


@GTJ: functions werden zu wpoly, nicht zu epoly gezählt. epoly sind nur waffen und playermodels, auch das huhn in cs_italy ist epoly. kurz, alle models sind epoly, der rest wpoly

--

zum Seitenanfang zum Seitenende Profil || Suche
006
26.08.2000, 17:17
-GTJ-



ohhhhh
da hab ich mein leben lang eine kleinigkeit falsch verstanden... tststs

--

http://www.levelediting.de
"Ich weiß nicht, welche Waffen im nächsten Krieg zur Anwendung kommen, wohl aber, welche im übernächsten: Pfeil und Bogen." (Albert Einstein)

zum Seitenanfang zum Seitenende Profil || Suche
007
27.08.2000, 20:41
Duke



Hm???

@Lingas :"functions werden zu wpoly, nicht zu epoly gezählt. epoly sind nur waffen und playermodels, auch das huhn in cs_italy ist epoly. kurz, alle models sind epoly, der rest wpoly"

meinst Du mit functions entities allgemein? Dann wirft das ja aller über den Haufen, was ich bis jetzt so mitgekriegt habe.
Bin verwirrt.

--

zum Seitenanfang zum Seitenende Profil || Suche
008
27.08.2000, 22:25




Ich weiss jetzt nicht ob das stimmt oder hier überhaupt reinpasst aber das kann man ja ganz leicht testet.Z.b. wenn man die waffe wechselt oder die bombe legt oder ne hostage killt gehen die e-polys runter bzw. höher

CU All

--

zum Seitenanfang zum Seitenende Profil || Suche
009
28.08.2000, 19:21
TheTinySteini



Ist mir noch nicht bewusst aufgefallen, ob dem tatsächlich so ist, aber müsste ja eigentlich. Mal ausprobieren...

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
010
28.08.2000, 21:06
Shepard



Es ist so.
Als ich einmal mit Software gespielt habe, hat es in Oposing Force ziehmlich geruckelt.
Aber als ich alle Aliens im Raum erschossen habe und sie verschwunden sind, war alles normal.

--

zum Seitenanfang zum Seitenende Profil || Suche