Aktuelle Zeit: 29.04.2024, 08:57

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Performance Problem
BeitragVerfasst: 18.10.2009, 17:16 
Offline

Registriert: 16.01.2008, 12:31
Beiträge: 79
Ich bastel an einer Space-Sim und erzeuge dazu eine Galaxy mit Sternen-Systemen, aktuell 100000 Systeme mit bis zu 10 Planeten.

Wenn ich nun die Galaxy-Karte anzeigen will bekomme ich ein Performance-Problem. Aktuell ist das ganze 3D, allerdings hat jedes System nur 2D Koordinaten (x und y). Im Anhang ist ein Screenshot, Verbindungen werden noch nicht korrekt erzeugt, aber das ist erstmal egal.

Wie bekomme ich das ganze performant?
Aktuell erzeuge ich 100000 Spheren (addSphereSceneNode) und zeichne mit draw3DLine die Verbindungen.


Dateianhänge:
map2.jpg [273.37 KiB]
Noch nie heruntergeladen
Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Performance Problem
BeitragVerfasst: 19.10.2009, 13:09 
Offline

Registriert: 17.11.2007, 11:15
Beiträge: 19
Was spricht dagegen, das in 2D zu machen? Die Sterne sind doch sowieso kaum von einem einzelnen Pixel zu unterscheiden.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Performance Problem
BeitragVerfasst: 19.10.2009, 21:05 
Offline
Moderator

Registriert: 25.02.2007, 14:35
Beiträge: 323
Wohnort: Münster
Hm, naja, bei 100.000 Kugeln, die je aus 16 (?) Polygonen bestehen, kommst du bereits auf 1,6 Millionen Polygone. Dazu kommen natürlich noch die ganzen Linien, ich weiß nicht wie die gerendert werden, aber das nimmt sicherlich auch nochmal einiges an Rechenzeit in anspruch.

Wenn du dann noch eine ältere Grafikkarte hast, ist es doch eigentlich nicht verwunderlich, dass du nur eine geringe FPS-Zahl erhältst...

Wie desx schon sagte, wäre ein Ansatz, 2D-Grafiken zu nehmen. Bei 100.000 Systemen (die je mit einer Kugel dargestellt werden), könntest du also alternativ einfach mit smgr->addBillboardSceneNode(...) ein Billboard erstellen, was afaik 2 Polygone braucht. Damit hättest du das ganze schon mal auf 200.000 Polygone reduziert (von den Linien mal abgesehen).
Weiter weg liegende Systeme könntest du auch zusammenfassen, d.h. einfach mehrere Punkte auf einem Billboard zeichnen. da spart man dann nochmal jede Menge.

Es stellt sich aber sowieso die Frage, was du mit 100.000 Systemen vor hast... Was soll denn der Sinn von so vielen sein?

Reichen nicht sogar schon 100-1000? Ich meine, kein Spieler wird nicht mal annähernd auch nur 1000 Systeme "anfliegen" ;)


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Performance Problem
BeitragVerfasst: 20.10.2009, 21:06 
Offline

Registriert: 16.01.2008, 12:31
Beiträge: 79
Ja das ganze war eher ein grundsätzliches Problem. :)
Hab nun alles in Sektoren aufgeteilt, hab dazu nun aber ein neues Problem, das probiere ich morgen aber erst nochmal selber.

Ich will selber einen Cube rendern so ala dem hier
http://www.mankind.net/screens_n_art/sc ... k17_03.jpg


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Performance Problem
BeitragVerfasst: 28.10.2009, 07:54 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
2. Dinge:

1. Hast du den Hardwaremappinghint des Sphere Meshes gesetzt? Wenn nein -> tun
2. DrawLine() ist langsam, wenn du es öfters verwendest. Pack am besten all deine Linien in einen MeshBuffer und render den dann in einem.

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de