PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Warum ist die Unreal Engine eigentlich so CPU limitiert?


Radeonator
2002-07-18, 23:39:54
Also die Erfahrung zeigt: UT mit 1GHz ruled, alles was drüber geht erzeugt komische ruckler, die aber nicht zu lasten der FPS gehen.

Aber warum ist die Unreal Engine so CPU limitiert?

GloomY
2002-07-19, 01:31:59
Also bei mir gibt's über 1 GHz keine Ruckler, läuft wie geschmiert.

Warum die Engine so viel CPU Power braucht, kann man pauschal nicht sagen. Das kommt auf den inneren Aufbau der Engine an.

Salvee
2002-07-19, 01:39:06
Resultiert AFAIK aus dem Alter der Engine bzw. der 'Abstammung' von der Ur-Unrealengine.
Die hatte ja ursprünglich noch den Softwaremodus intus, bei dem die CPU jeden einzelnen Pixel selbst berechnen musste.
Hmm, lange kein UT mehr gezockt, aber die hat doch auch noch einen Softwaremodus, oder ?

askibo
2002-07-19, 02:26:37
Quelle: http://www.forum-3dcenter.org/vbulletin/showthread.php?s=&threadid=26163

Originally posted by vogel
Perfektes occlusion culling lohnt sich heutzutage nicht mehr. Die meisten Objekte in modernen Spielen haben viele "Loecher", grosse bounding boxes und und und. Die Zeiten des Spannbuffers sind endlich vorbei da Grafikkarten mittlerweile schnell genug sind :) Z.b. war UT relativ schneller als Q3 da Grafikkarten damals verhaeltnismaessig langsamer waren und UT spanbuffering benutzte wohingegen Q3 einfach alles renderte. Heute sieht das Bild komplett umgedreht aus da GPUs sehr viel schneller schneller wurden als CPUs.

-- Daniel, Epic Games Inc.

Originally posted by vogel
Spanbuffering ist ist sehr CPU intensiv - ich meinte das als Vergleich da es die beste (und langsamste) Variante ist um Overdraw zu vermeiden. Mittlerweile wird nur noch die Boundingbox durch den BSP und view frustum gefilteret und dann werden noch Portals/ Anti- Portals in betracht gezogen und wenn es immer noch sichtbar ist gerendert => ziemlich viel Overdraw aber schnell.
-- Daniel, Epic Games Inc.

vogel
2002-07-19, 07:54:04
Originally posted by askibo
Quelle: http://www.forum-3dcenter.org/vbulletin/showthread.php?s=&threadid=26163

Hehe :)

Der Grund wieso Unreal Tournament (aber nicht jedoch die jetzige Version der Unreal Engine) so CPU limitiert ist liegt im span buffering das verwendet wurde um Overdraw zu vermeiden. Erschwerend kommt noch hinzu, dass die CPU Last von der Aufloesung abhaengt also muss die CPU bei 1600x1200 WEITAUS mehr ackern als bei 640x480. Vor drei Jahren war dies der richtige Tradeoff.

-- Daniel, Epic Games Inc.

Quasar
2002-07-19, 10:22:14
Gibt's da eventuell einen Trick oder Hack, um das Spanbuffering in U/UT abzuschalten? Auf sehr modernen Grakas könnte man das Spiel so doch bestimmt beschleunigen?

BlackBirdSR
2002-07-19, 10:50:20
Originally posted by vogel

Hehe :)

Erschwerend kommt noch hinzu, dass die CPU Last von der Aufloesung abhaengt also muss die CPU bei 1600x1200 WEITAUS mehr ackern als bei 640x480.

-- Daniel, Epic Games Inc.

du wolltest damit aber nicht andeuten das dies immernoch der Fall ist oder?
bzw überhaupt der Fall ist?

oder hängt das jetzt nur mit span Buffering zusammen?
arbeitet das nicht auf Polygonbasis?

Legolas
2002-07-19, 11:04:26
Originally posted by vogel

Hehe :)

Der Grund wieso Unreal Tournament (aber nicht jedoch die jetzige Version der Unreal Engine) so CPU limitiert ist liegt im span buffering das verwendet wurde um Overdraw zu vermeiden. Erschwerend kommt noch hinzu, dass die CPU Last von der Aufloesung abhaengt also muss die CPU bei 1600x1200 WEITAUS mehr ackern als bei 640x480. Vor drei Jahren war dies der richtige Tradeoff.

-- Daniel, Epic Games Inc.


Wie sieht es eigentlich auch, wenn man AA zuschaltet??? Entsteht dann auch mehr CPU-Last, oder bleibt diese gleich?

Legolas
2002-07-19, 11:09:27
Originally posted by vogel

Hehe :)

Der Grund wieso Unreal Tournament (aber nicht jedoch die jetzige Version der Unreal Engine) so CPU limitiert ist liegt im span buffering das verwendet wurde um Overdraw zu vermeiden. Erschwerend kommt noch hinzu, dass die CPU Last von der Aufloesung abhaengt also muss die CPU bei 1600x1200 WEITAUS mehr ackern als bei 640x480. Vor drei Jahren war dies der richtige Tradeoff.

-- Daniel, Epic Games Inc.


Wie sieht es eigentlich auch, wenn man AA zuschaltet??? Entsteht dann auch mehr CPU-Last, oder bleibt diese gleich?

Pussycat
2002-07-19, 11:27:41
Das dürfte keine extra Prozessoleistung fressen.

Legolas
2002-07-19, 12:00:34
Dachte ich mir auch, weil die App. ja vom AA nicht viel mitkriegt, wenn das GPU-intern geschiet, wollte es nurmal definitiv wissen. :)

Radeonator
2002-07-19, 19:48:32
Also AFAIK ist es wirklich so das UT Probleme mit Prozzis über 1GHz hat.Das kann mir jeder aus meinem Clan bestätigen und ich weiss es aus eigener Erfahrung.Wie gesagt sind das keine Ruckler im sinne von FPS drops, sondern vielmehr, naja wie kann mans erklären, naja das Bild zuggt teilweise.Wenn amn den Prozzi auf 1GHz runtertakkert, ists wieder wech.Ich hab das Problem gelösst indem ich die Auflösung hochgeschraubt habe.

Es wurden ja neue D3D(DX8) und OGL dll´s für UT rausgebracht ändert sich dadurch nicht was am Verfahren??? Also UT sieht damit jedenfalls nochmal so gut aus (MipMapping und HighTextures sehen richtig GEIL damit aus!!!)
Aber seht selbst :D

zeckensack
2002-07-19, 20:35:59
Originally posted by Radeonator
Also AFAIK ist es wirklich so das UT Probleme mit Prozzis über 1GHz hat.Das kann mir jeder aus meinem Clan bestätigen und ich weiss es aus eigener Erfahrung.Wie gesagt sind das keine Ruckler im sinne von FPS drops, sondern vielmehr, naja wie kann mans erklären, naja das Bild zuggt teilweise.Wenn amn den Prozzi auf 1GHz runtertakkert, ists wieder wech.Ich hab das Problem gelösst indem ich die Auflösung hochgeschraubt habe.

Es wurden ja neue D3D(DX8) und OGL dll´s für UT rausgebracht ändert sich dadurch nicht was am Verfahren??? Also UT sieht damit jedenfalls nochmal so gut aus (MipMapping und HighTextures sehen richtig GEIL damit aus!!!)
Aber seht selbst :D Dös sieht mir doch schwer nach Gamma-Korrektur aus.

Die Voodoos nutzen anno dunnemals einen Default-Gammawert von 1.3, das sieht schon mal etwas doof aus, wenn ein Spiel sich darauf verlässt, aber auf einer Karte mit Gamma 1.0 läuft.

Davon kann ich ein Liedchen singen ... laaalalaaaalala
dideldudeldummdideilalaaaa :D

vogel
2002-07-19, 21:56:45
Originally posted by Quasar
Gibt's da eventuell einen Trick oder Hack, um das Spanbuffering in U/UT abzuschalten?
Nein.

-- Daniel, Epic Games Inc.

vogel
2002-07-19, 21:58:28
Originally posted by BlackBirdSR
du wolltest damit aber nicht andeuten das dies immernoch der Fall ist oder?
bzw überhaupt der Fall ist?

oder hängt das jetzt nur mit span Buffering zusammen?
arbeitet das nicht auf Polygonbasis?
Nein, Ja, Ja, Nein.

-- Daniel, Epic Games Inc.

vogel
2002-07-19, 22:02:10
Originally posted by Radeonator
Also AFAIK ist es wirklich so das UT Probleme mit Prozzis über 1GHz hat.
Stell sicher, dass Deine CPU Geschwindigkeit richtig erkannt wird (im unrealtournament.log file).

-- Daniel, Epic Games Inc.

Unregistered
2002-07-19, 22:49:13
Originally posted by vogel

Stell sicher, dass Deine CPU Geschwindigkeit richtig erkannt wird (im unrealtournament.log file).

-- Daniel, Epic Games Inc.
Was soll das jetzt?
Was tun, wenn da was Falsches steht?

Bei mir stimmt es anscheinend (TB 1.300):
Init: CPU Speed=1302.984286 MHz
Init: CPU Page size=4096, Processors=1
Init: CPU Detected: PentiumPro-class processor (AuthenticAMD)
Init: CPU Features: CMov FPU RDTSC PAE MMX 3DNow!
Dieses "Ruckeln" hatte ich auch - sehr derbe, aber durch Abschalten des Vsync hat es aufgehört.
Begun the Tearing has...

vogel
2002-07-20, 06:05:20
Originally posted by Unregistered
Was soll das jetzt?
Was tun, wenn da was Falsches steht?

Es gibt einen Kommandozeilenparameter mit dem man das korrigieren kann. Wenn da was falsches steht ist "UnrealZeit" != "Echtzeit" und client und server haben dann nicht die gleiche "time dilation" => server muss client sehr oft stark korrigieren => ruckeln.

Dieses "Ruckeln" hatte ich auch - sehr derbe, aber durch Abschalten des Vsync hat es aufgehört.
Begun the Tearing has...
In UT2003 gibts jetzt die (per default eingeschaltete) Option "ReduceMouseLag" die den back buffer "lock'ed" um die Grafikkarte zu "stallen" (ziemlich viele Anglizismen ;)) was framerate- spikes die durch das buffern entstehen koennen ausmerzt und das Spiel sehr sehr spielbar mit niedrigen FPS macht. Die Option drueckt die maximale Framerate auf schnellen Maschinen aber macht spielen _sehr_ viel angenehmer.

-- Daniel, Epic Games Inc.

Quasar
2002-07-20, 08:02:30
Habt ihr euch das von Rage Software abgeschaut? AFAIK gab's so eine Option mal (oder wohl auch immer noch) in Expendable "Lock Frames".

Haarmann
2002-07-20, 08:30:09
Damit Vogel sich wichtigeren Dingen widmen kann, denn Links zu verteilen, werde ich zum Thema Span-Buffer kurz des Demirugs Worte benutzen.

"Bin gerade etwas faul: http://www.foxfiber.net/dica/3dica4.htm Kapitel 4.4"

Danke Demirug, dass ich mit ctrl-c und ctrl-v auskomme ;)

Radeonator
2002-07-20, 14:50:37
Da ich das Bild runter rechnen musste, kann man die unterschiede nicht deutlich genug erkennen. Die Tiefenberechnung ist 100x besser als mit den alten render.dll´s und das Mipmaping ist brilliant.Die Texturen weisen viel mehr details auf (da anscheinen das S3TC besser genutzt wird) so sieht man links unten auf den Bodenplatten in Curse][ z.B. sogar kratzer.Bei dem oberen Bild (CoretCE beim RL) sehen auch die Bodentexturen unglaublich plastisch aus.Es handelt sich also definitiv nicht "nur" um eine einfache Gamma korrektur.Zudem muss man einiges an "mehr" einträgen unter OGL hinzufügen.

Wer das ganze selbst mal ausprobieren möchte, kann sich die Render.dll´s HIER (http://unreal.epicgames.com/) saugen.

Wieso sollten eigentlich diverse Games bei 1024x768x32 CPU limitierd sein???Finde ich etwas an den Haaren herbei gezogen...;)

Ach ja, mein Prozzi wird so angezeigt
Init: CPU Speed=1932.065003 MHz
Init: CPU Page size=4096, Processors=1
Init: CPU Detected: Unknown processor (GenuineIntel)
Init: CPU Features: CMov FPU RDTSC PAE MMX KNI

Da steht kein SSE2 ??? und erkannt wird er anscheinen auch nicht richtig...was kann ich wo ändern damits stimmt???

DR.DEATH
2002-07-21, 02:13:12
@ Radeonator

Mit den neuen DLL's geht ueberhaupt erstmal S3TC und die Tiefenberechnung ? is garnich besser !
Die detailierteren Texturen hat man auch nur wenn man die komprimierten Texturen von der UT Bonus CD installed, sonst ist nix mit schoeneren und besseren Texturen.

Und ich koennte damit net spielen weil nur ca 40 - 60 % S3TC Texturen sind und ich finde es sieht zum :kotz: aus wenn nurn paar Textures high res sind und der rest so undetailiert. In einigen faellen hat man auch ganz andere Texturen die garnicht so recht von Groesse als auch Erscheinung passen.

Das mit CPU Limitierung stimmt schon, das merk ich schoen in Unreal(1). Zumindest liegts auch sehr mit an der Render API. Bei mir is ne GF3 rausgeflogen weil meine V3 3k einfach schneller is ( im Internet und komplexeren Szenen um einiges und nochn paar andere Bugs die genervt ham ). Hat man aber die noetige CPU Power kann die V3 einpacken, war und ist bei mir aber nicht der Fall.

Ganon
2002-07-21, 10:53:14
@Radeonator

UT unterstützt kein SSE/SSE2! Desshalb erkennt es das auch nicht!


Und ich koennte damit net spielen weil nur ca 40 - 60 % S3TC Texturen sind und ich finde es sieht zum kotzen aus wenn nurn paar Textures high res sind und der rest so undetailiert.

Ich finde es besser als alle Texturen undetailiert! S3TC macht die anderen Texturen ja nicht schlechter! Ohne S3TC sieht das ganze Spiel zum kotzen aus, imo!

Pussycat
2002-07-21, 18:14:58
Vogel,

Bei LANparty's hatte ich bisher das Problem das sobald wir in einem neuen Level sind, die Pings ca. 1 minute lang extrem hoch (3000+) sind. Danach sind sie weider perfekt - bis zum nächsten map. Was kann ich da dran tun?

Backe
2002-07-23, 16:43:03
Originally posted by Ganon
@Radeonator

UT unterstützt kein SSE/SSE2! Desshalb erkennt es das auch nicht!


SSE wird doch erkannt:

Init: CPU Features: CMov FPU RDTSC PAE MMX KNI

KNI = Katmai's New Instructions = SSE

Lethargica
2002-07-29, 11:22:53
Hm nochmal ne ganz andere Frage :

Hat UT eigentlich standartmäßig irgendwie ne max.fps Einstellung?
Ich hab bei UT immer 75fps was ja eigentlich etwas wenig für mein Sys is...komisch is auch, dass ich bei 320*240 genausoviel fps hab, als bei 1600*1200 und unter Vollbelastung (10 Gegner, Lichteffekte usw) geht die fps rate auch nicht runter...immer konstant bei 75 fps :confused:

ow
2002-07-29, 11:26:59
klingt nach eingeschaltetem Vsync bei 75Hz Refresh.

StefanV
2002-07-29, 12:03:52
@Daniel

Wird es in UT eine Option geben, um die FPS zu limitieren??

AFAIK hat die Voodoo1 nicht mehr als 60fps verarbeiten können, was dem spielfluss zu gute kommt :)

IMHO ist in letzter Zeit kein Spiel so 'smooth' wie es Schleichfahrt mit 3DFX Patch war...

HOT
2002-07-29, 12:36:27
Originally posted by Ganon
@Radeonator

UT unterstützt kein SSE/SSE2! Desshalb erkennt es das auch nicht!

Ich finde es besser als alle Texturen undetailiert! S3TC macht die anderen Texturen ja nicht schlechter! Ohne S3TC sieht das ganze Spiel zum kotzen aus, imo!


Falsch! UT unterstützt KNI, das heisst "Katmai New Instuctions" und ist SSE.
Die S3TC Texturen von UT sehen genial aus. Texturen die nicht kompimiert sind, haben es auch nicht nötig.

ow
2002-07-29, 13:13:56
Originally posted by HOT



Falsch! UT unterstützt KNI, das heisst "Katmai New Instuctions" und ist SSE.
Die S3TC Texturen von UT sehen genial aus. Texturen die nicht kompimiert sind, haben es auch nicht nötig.


Dasss KNI erkannt wird heisst noch lange nicht, dass es auch unterstuetzt wird. Gilt fuer andere CPU Features ebenso.

Ganon
2002-07-29, 13:39:32
Originally posted by ow



Dasss KNI erkannt wird heisst noch lange nicht, dass es auch unterstuetzt wird. Gilt fuer andere CPU Features ebenso.

Jups! Das 3DNow! Unterstützt wird steht aber imo auf der Packung! Deswegen sind AMD-CPUs auch so schnell in UT!

HOT
2002-07-29, 13:44:13
Momentl - es gilt auch das, was ow schrieb: das heisst nicht dass es unterstützt wird. Sicherlich gibt es für UT eine 3DNow! Optimierung für K6 Prozessoren, nicht aber für Athlons. Die Folge ist, dass Athlons und PIII/P4 doch alles konvetionell machen müssen.

ow
2002-07-29, 14:04:42
3DNow wird AFAIK unterstuetzt, das kann man per Parameter abschalten.
Ob KNI aka SSE unterstuetzt wird, weiss ich nicht.

Auch Athlons koennen natuerlich die K6 3DNow Routinen nutzen, ob's hier sinnvoll ist sei mal dahingestellt, keine Ahnung.


Mein obiges Posting bezog sich auf:

Init: CPU Features: CMov FPU RDTSC PAE MMX KNI



Heutzutage macht wohl fast jede SW per CPUID eine Abfrage der CPU-Features. Muss ja auch sein, um CPU-spezifische Befehle ueberhaupt nutzen zu koennen.

aths
2002-07-30, 10:39:39
Originally posted by HOT
Die Folge ist, dass Athlons und PIII/P4 doch alles konvetionell machen müssen. Wie ow schon schrieb: Natürlich kann ein Athlon auch 3DNow (oder zur Not einfach nur MMX) nutzen. PIII und 4 können auch mindestens MMX nutzen.

zaboron
2002-08-04, 17:59:58
Originally posted by Pussycat
Vogel,

Bei LANparty's hatte ich bisher das Problem das sobald wir in einem neuen Level sind, die Pings ca. 1 minute lang extrem hoch (3000+) sind. Danach sind sie weider perfekt - bis zum nächsten map. Was kann ich da dran tun?
das is der sog. "creeping ping"-bug, der bei dedicated win2k servern auftritt. der server erkennt bei mapwechsel nicht, dass die spieler der letzten map gegangen sind. so hat er die doppelte anzahl von clients, und muss dementsprechend mehr senden. irgendwann erkennt er dann halt dass nich mehr so viele da sind, und dann geht wieder alles.

und zum "ruckeln" bei mehr als 1 Ghz:
wenn man sich in ut in richtung 250/300 fps bewegt, tritt ein bug auf den die entwickler damals wohl nich beachtet haben. die spielgeschwindigkeit erhöht sich drastisch, in singleplayer in engen gängen sehr gut zu bemerken. wenn man mp spielt, bewegt man sich ebenfalls schneller als erlaubt, und der server muss die position des clients immer korrigieren. dadurch entsteht dieses ruckeln.

Str1per
2002-08-04, 18:13:45
Wegen Creeping Ping Fix zitiere ich mal den Radeonator

http://unreal.epicgames.com/