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

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

21

01.04.2011, 07:32

Das Programm ständig zu laden und wieder zu beenden ist sicherlich eine ziemlich Verschwendung von Resourcen (Zeit).
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

22

01.04.2011, 09:01

Das Programm ständig zu laden und wieder zu beenden ist sicherlich eine ziemlich Verschwendung von Resourcen (Zeit).

Durchaus, da er aber nichts zu den Anforderungen gesagt hat könnte es flott genug sein.

Alles andere wird wesentlich aufwändiger.

23

03.04.2011, 23:20

Wie komplex werden die Szenen denn überhaupt, die du da so in ein Bild rendern möchtest? Im Eingangspost heißt es nur "gedrehter Würfel", also relativ einfache Körper. Solange du keine kompletten Szenerien mit zig tausend Objekten rendern möchtest, könntest du auch einfach einen Raytracer verwenden. Der setzt dann weder einen Windows-Server noch eine gute Grafikkarte (die normale Server üblicherweise _nicht_ haben? ) voraus.

(ohne jetzt eine Diskussion darüber beginnen zu wollen: je nach Anforderung kann das doch sogar mehr Sinn machen, da Raytracer prinzipiell nur exakte Bilder ausspucken. Wenn das denn wichtig ist. )

MfG
dispy

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

24

04.04.2011, 05:53

Also bei allem Respekt, aber ein Raytracer wird wohl kaum schneller oder sinnvoller sein als Software- oder Hardware-Rasterisierung eines Würfels. Selbst OnBoard-Karten würden DAS schneller hinbekommen als ein Raytracer.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

25

05.04.2011, 00:34

Würd ich nicht so pauschalisieren. Wenn der 40 Anfragen pro Sekunde durchscheuchen will, dann brauch der natürlich was Anderes - aber danach hört sich das Ganze irgendwie nicht an. Wenn die Modelle aber sowieso als Haufen Dreiecke vorliegen, is die Diskussion eh gegessen.
Einfache Szenarien in sagen wir 320 * nochwas Pixel mit niedrigem Antialiasing sollte nen guter Raytracer auf nem halbwegs aktuellen System doch in gut einer Sekunde hinbekommen. Für die 20 Euro Windows-Lizenz, die man sich im Monat spart, darfs dann auch ruhig das teurere und bessere Servermodell sein :D

Habs grad nochmal auf meinem Laptop ausprobiert (und das hat wirklich nen Kackprozessor). Hier läuft sogar ein Bowling-Spiel auf Raytracer-Basis (von 2006, noch nix multithreaded, nix CUDA/Stream) mit bestimmt 10 fps. Das hat zwar noch einige Artefakte im Bild aber hey, mach 5 fps, reduzier die Auflösung von 1024 * x und das Ergebnis wird sicherlich ansehnlich.

*mit allen Mitteln sein Argument zu retten sucht :P *



MfG
dispy

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

26

05.04.2011, 00:42

(ohne jetzt eine Diskussion darüber beginnen zu wollen: je nach Anforderung kann das doch sogar mehr Sinn machen, da Raytracer prinzipiell nur exakte Bilder ausspucken. Wenn das denn wichtig ist. )

Inwiefern sind denn Bilder von Rasterizern weniger exakt!?

Beiträge: 721

Wohnort: /dev/null

Beruf: Software-Entwickler/Nerd

  • Private Nachricht senden

27

05.04.2011, 12:22

Die Art der Berechnung ist doch vollkommen irrelevant?!

28

05.04.2011, 13:00

Mach ne D3D Anwendung, die Befehle über eine Datenbank-Tabelle entgegen nimmt (läuft im Hintergrund und fragt nach jedem Rendervorgang die DB ab). In diese Tabelle schreibst du per ASP/PHP whatever die Renderbefehle (Modellkonfiguration, Kameradaten). Die Tabelle enthält außerdem einen Schlüssel der zu einer anderen Tabelle führt, wo man die fertigen Bilddaten finden kann. Solange null zu einem Schlüssel drin steht ist der Renderbefehl noch nie ausgeführt worden und wird auch nicht gerade ausgeführt. In einer Transaktion können ein oder mehrere Renderserver die Befehlstabelle abfragen und eine Id für das entstehende Bild hinterlegen. Sie rendern dann den entsprechenden Befehl und schreiben die Bilddaten in die Ressourcen-Tabelle mit der vorher in der anderen Tabelle hinterlegten Id. Der Client fragt permanent den Webserver nach einer URL für das Bild per AJAX o.Ä. Sobald nicht mehr null in der Ressourcen-Tabelle steht wird eine Bildurl zurückgegeben. Die URL kann dann zu seinem Script führen, der das Bild aus der DB zurückgibt. Ggf. kann man sich die Ressourcen-Tabelle sparen und stattdessen noch ein IS_RENDERING-Flag oder IS_RENDERING_SINCE-Timestamp zusammen mit dem Bild-Blob in die Befehlstabelle packen. Eigentlich ist das auch nur wichtig, wenn du mehrere Renderserver beschäftigen möchtest. Durch die Datenbank hast du gleich eine Art Synchronisierung für die Renderserver.
Die Render-Anwendung kann ggf. einfach eine ganz normale D3D Anwendung sein, die Screenshots machen kann. In der "Gameloop" wird statt Spielgeschehen, die Befehlstabelle abgefragt und ein Screenshot gemacht, der in die DB gespeichert wird.

BTW Wo bekommst du eigentlich einen Server mit 3D Hardware her? Hostest du selbst, benutzt du so einen Housing Service oder gibt es tatsächlich Anbieter mit solchen Angeboten?

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Chromanoid« (05.04.2011, 13:56)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

29

05.04.2011, 15:12

Au yea, 60 FPS Dauerlast und 60 Datenbankabfragen pro Sekunde. Autsch. ;)
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

30

05.04.2011, 15:15

Bei dem System gehts wohl ganz sicher nicht um interaktive Frameraten :P

Werbeanzeige