Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Renegade123

Alter Hase

  • »Renegade123« ist der Autor dieses Themas

Beiträge: 494

Wohnort: Berlin

Beruf: Certified Unity Developer

  • Private Nachricht senden

1

29.11.2012, 14:56

Unity versus Unreal - Ein Performancevergleich

Hallo zusammen,

da ich dieses Jahr meinem Bachelor machen möchte, habe ich mir überlegt einen Vergleich zwischen Unity und der Unreal Engine anzustellen. Dabei möchte ich die Performance des Renderings (fps) anhand einer selbst erstellten Spielszene unter Windows 7 mit verschiedener Hardware testen. Da ich aufgrund meines Studiums fast ausschließlich mit Unity zu tun habe / hatte, möchte ich damit meine Kenntnisse um die Unreal Engine erweitern. Dabei haben sich allerdings einige Fragen aufgetan:

Ist es mir möglich sicherzustellen, dass beide Engines die selben Grundvoraussetzungen haben? Dabei denke ich speziell an die Erstellung der Szene. Kann man diese in einem dritten Programm erstellen und sie dann in beide importieren? Und wenn, was glaubt ihr ist wirklich wichtig für die Szene um mögliche Leistungsunterschiede feststellen zu können?

lg René
Liebe Grüße,
René

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

2

29.11.2012, 15:12

Du kannst ja theoretisch Modelle erstellen und diese dann in Unity oder Unreal laden. Um einigermaßen aussagekräftig zu sein solltest du aber nicht nur mit einer Szene testen, sondern mehrere Testszenen festlegen. Anzahl der Modelle, Polygone, sichtbarer Polygone, nicht sichtbarer Polygone, Effekte, Shader etc sollten sich in den unterschiedlichen Szenen unterscheiden.
Ansonsten kommt es natürlich darauf an, was du genau zeigen möchtest. Möchtest du zeigen, wie die Unterschiede sind, indem du bei beiden Engines genau die gleichen Techniken anwendest, oder möchtest du zeigen, was die einzelnen Engines leisten können?
Beim ersten Fall solltest du darauf achten nur Funktionen zu verwenden welche von beiden Engines geliefert werden. Im zweiten Fall wäre dies eher unerwünscht.
An sich ist das ganze stark abhängig von dem was du später zeigen möchtest.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Renegade123

Alter Hase

  • »Renegade123« ist der Autor dieses Themas

Beiträge: 494

Wohnort: Berlin

Beruf: Certified Unity Developer

  • Private Nachricht senden

3

29.11.2012, 15:34

Ich möchte bei beiden Engines gleiche oder ähnliche Techniken anwenden um zu zeigen ob es Leistungsunterschiede gibt. Meine derzeitige These lautet: "Die Unreal Engine wird im Durschnitt 30% bessere Ergebnisse bei der Performance des Renderings hervorbringen als die Unity Engine.". Natürlich ist das reine Spekulation und muss be- / widerlegt werden. Ich wurde bereits in der Hochschule darauf hingewiesen, dass bereits die Untersuchung einer Szene einen großen Aufwand bedeutet. Deshalb glaube ich nicht, dass es überhaupt im zeitlichem Rahmen liegt mehrere Testszenen zu erstellen. Ich habe mich auch erst einmal auf eine Plattfrom beschränkt, obwohl der erste Gedanke eine Untersuchung auf mehreren Betriebssystemen war. Ich denke, wenn es mir die Zeit zulässt, ist es besser die Arbeit zu erweitern als entscheiden zu müssen, dass etwas gekürzt werden muss. Was denkst du, gehört unbedingt in die Szene?

lg René
Liebe Grüße,
René

4

29.11.2012, 15:55

Oh, sowas ist sehr kniffelig. Es kann ja durchaus sein, dass beide Engines Szenen unterschiedlich behandeln, und die Szene deshalb nochmal speziell für beide Optimiert werden müsste. Nicht im dem Sinne, dass sie dann anders aussieht, sondern dass z.B. mal Objekte zusammen gefasst werden und mal nicht. Weil wie jedes komplexere Gebilde kann man eine Engine falsch und richtig benutzen, wenn du nur Unity kennst und eine naive Portierung der Szene auf die Unrealengine vornimmst, kann es sein, dass du dort deutlich schlechtere Ergebnisse bekommst, als wenn ein Unreal-Profi die Szene speziell für diese Engine entworfen hätte.

Das Problem ist, mit so einer Arbeit misst du nur, wie schnell das Rendern in genau dieser Szene ist. Was du aber eigentlich als Ergebnis haben möchtest ist "wenn ich ein typisches Spiel in Engine A umsetze, läuft es 20% schneller, als wenn ich es in Engine B umsetze". Und um vom ersten auf das zweite schließen zu können, brauchst du sehr plausible Argumente (unter anderem eine sehr geeignete Testszene, die jeweils optimiert wurde).
Lieber dumm fragen, als dumm bleiben!

Renegade123

Alter Hase

  • »Renegade123« ist der Autor dieses Themas

Beiträge: 494

Wohnort: Berlin

Beruf: Certified Unity Developer

  • Private Nachricht senden

5

29.11.2012, 16:14

Das von dir beschriebene Problem geistert mir auch durch den Kopf. Deshalb besteht ja grundsätzlich erst einmal die Frage ob es möglich ist die selben Grundvoraussetzungen zu haben. Ansonsten ist das Experiment unglaubwürdig. Zum einen muss ich sicherstellen das die Einstellungen bei beiden Engines die "selben" sind. Zum anderen benötige ich eine Testszene, die am besten in beide Engines portiert wird und nicht zuvor in einer erstellt und in die andere portiert wurde, denn ansonsten könnte es zu den von dir beschriebenen Ergebnissen führen.
Meine Betreuerin meinte, dass es kein Problem sei, dass ich nur anhand meiner Szene messe, denn was anderes sei mir auch gar nicht möglich. Vielleicht sollte ich dazu die These noch einmal anpassen und darauf hinweisen das es sich um eine selbst erstellte Szene handelt. Die Fragen stehen immer noch offen: Ist es möglich eine Testumgebung mit gleichen Voraussetzungen zu schaffen und wenn ja, was sollte in die Szene?

lg René
Liebe Grüße,
René

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

6

29.11.2012, 17:00

Naja wirklich gleiche Voraussetzungen kannst du vermutlich nicht schaffen. Eben genau aus dem beschriebenen Problem. Wie schon gesagt, um einigermaßen aussagekräftig zu sein müsstest du mehrere Testszenen vergleichen. So zeigst du halt nur, welche Engine diese eine Testszene besser verarbeiten kann. Stell dir vor du willst zwei Sortieralgorithmen vergleichen. Du betrachtest nur einen Testfall. Genau dieser ist aber möglicherweise für den einen Algorithmus Worstcase und für den anderen Average.
Du könntest dich natürlich vorher ordentlich über beide Engines informieren und deine Szene möglichst so aufbauen, dass sie von beiden Engines möglichst gut verarbeitet werden kann. Wirklich aussagekräftig wirds aber trotzdem nicht;)
Ansonsten schreib doch mal welche Kriterien du dir überlegt hast. Dann kann man da ja vielleicht ein wenig gucken was sich machen lässt.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Renegade123

Alter Hase

  • »Renegade123« ist der Autor dieses Themas

Beiträge: 494

Wohnort: Berlin

Beruf: Certified Unity Developer

  • Private Nachricht senden

7

29.11.2012, 17:14

Bevor ich weiter darauf eingehe, möchte ich sagen das es noch Vorüberlegungen für ein Thema sind und ich mich noch nicht festgelegt habe. Ich bin momentan noch im Findungsprozess und möchte Ideen abwägen. Da ich gerne den Bachelor of Science haben möchte statt den Bachelor of Arts, was bei mir zur Wahl steht, dachte ich das ein methodischer Vegleich im allgemeinen ein guter Ansatz dafür wäre.

Haltet ihr das Thema überhaupt im Rahmen einer Bachelorarbeit für umsetzbar? Die Einwände scheinen mir sehr logisch. Insbesondere das ich mehrere Testszenen erstellen müsste. Das steht aber im direkten Konflikt mit dem Einwand meiner Betreuerin, dass die Zeit dafür wohl nicht reichen wird.

lg René
Liebe Grüße,
René

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

8

29.11.2012, 18:00


Haltet ihr das Thema überhaupt im Rahmen einer Bachelorarbeit für umsetzbar? Die Einwände scheinen mir sehr logisch. Insbesondere das ich mehrere Testszenen erstellen müsste. Das steht aber im direkten Konflikt mit dem Einwand meiner Betreuerin, dass die Zeit dafür wohl nicht reichen wird.

Das halte ich fuer keine gute Idee.
Wenn du einfach ein paar "Testszenarios" vergleichst wirst du vielleicht Ergebnisse bekommen, aber du wirst diese nicht diskutieren koennen. Die eine Engine mag bei ein paar der Features flotter sein, die andere Engine mag etwas anderes effizienter verarbeiten. Alles was jedoch als Ergebnis dabei raus kommt ist eine Zahl: avg FPS.

Wenn man das ganze wissenschaftlich erarbeiten moechte, muss man die Probleme isolieren um die Anzahl der Variablen zu verringern. D.h. du muesstest sehr stark isolierte Testfaelle erzeugen die du vergleichen kannst, welche dann jedoch wieder sehr weit von der Realitaet entfernt sind.

Koennte so durchaus noch eine interessante Arbeit abgeben, aber vermutlich nicht das was du dir darunter vorgestellt hast.

Renegade123

Alter Hase

  • »Renegade123« ist der Autor dieses Themas

Beiträge: 494

Wohnort: Berlin

Beruf: Certified Unity Developer

  • Private Nachricht senden

9

29.11.2012, 19:00

Ich denke drei Meinungen reichen mir um zu erkennen, dass das Thema möglicherweise für meine Arbeit ungeeignet ist. Demzufolge werde ich mir wohl ein anders Thema suchen müssen. Gegebenenfalls eröffne ich nochmal ein neues Thema, aber der Thread kann geschlossen werden.
Danke für die Hilfe.

lg René
Liebe Grüße,
René

Werbeanzeige