Also ich hab jetzt das Ganze nochmal auf 2 anderen PCs getestet. Dorst ist seltsamerweise die Framerate bei beiden Versionen meines Programms in etwa gleich..
Kann das irgendwie an meiner Dual Core CPU im Hauptrechner liegen? Wobei aber nur 50% Auslastung herrschen bei Betrieb des Programm, d.h. es wird eigentlich nur ein Kern genutzt..
Naja aber solange sich die Performance (zumindest dem FPS Counter zu Folge) nur hier verschlechtert hat, ist das kein Problem mehr
Also ich hab jetzt das Ganze nochmal auf 2 anderen PCs getestet. Dorst ist seltsamerweise die Framerate bei beiden Versionen meines Programms in etwa gleich..
Kann das irgendwie an meiner Dual Core CPU im Hauptrechner liegen? Wobei aber nur 50% Auslastung herrschen bei Betrieb des Programm, d.h. es wird eigentlich nur ein Kern genutzt..
Naja aber solange sich die Performance (zumindest dem FPS Counter zu Folge) nur hier verschlechtert hat, ist das kein Problem mehr
Dual Core verursacht IMHO tatsächlich bei einigen Programmen Probleme, bei deinem kann ich es mir allerdings nicht vorstellen warum es da Probleme geben sollte.
_________________ Shareholder und Leitender Entwickler bei Pipedream-Games.
Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu gehen.
Registriert: Sa Mai 04, 2002 19:48 Beiträge: 3830 Wohnort: Tespe (nahe Hamburg)
Unwürdige ... Wieso haben alle ne DualCore, die nicht wissen, wie sie funktionieren? Eine einzelner Prozess profitiert nicht im geringsten von einem zweiten Kern. Auch erhöht man mit einem DualCore die Bandbreite und nicht die Leistung. Das ganze macht Spaß, wenn ich hier einige Serverdienste laufen habe und parallel Eclipse starte, aber nicht, wenn ich Doom3 starte (außer es gibt da inzwischen spezielle Versionen). Von daher würde ich alle Gedankengänge in diese Richtung einstellen.
Als Performance-Problem würde ich das ganze auch noch nicht ansehen. Es ist normal, dass die 5000 FPS, die man bei einem Dreieck hat, sehr schnell in den "Keller" runtergeht. Bevor es dann an die kritischen Grenzen kommt, vergeht meist dann doch aber noch eine etwas längere Zeit. Ansonsten sind es auch oft Kleinigkeiten, die viel Performance kosten. Ständige verwenden von glBegin/glEnd, stäniges wechseln der Textur etc. Also laßt den armen Core in Frieden
_________________ "Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."
Kann da Flow nur zustimmen Ich liebäugle selber mit der Anschaffung eines DualCore-Rechners... Bisher hat mich davon allerdings der Preis abgehalten Jedenfalls hat DualCore damit nichts zu tun und macht sich tatsächlich nur dann bemerkbar, wenn eine Anwendung mehr als einen Thread benutzt. Ähnlich wie dieser Hype um Hyperthreading (!). Ok, da steckt das Wort Hype schon drin .
Trotzdem gilt irgendwie bei vielen nach wie vor die Devise, zwei CPUs sind doppelt so schnell wie eine.
Richtig bezahlt machen sich DualCore-Rechner, wenn bei einem Spiel z.B. die Physik-Engine in einen eigenen Thread kommt, die Spielelogik mitsamst KI in einen Thread kommt und die Grafikrelevanten Sachen auf der GPU berechnet werden. Dann hat man mit DualCore tatsächlich 3 Prozessor-Units, die gleichzeitig und damit parallel arbeiten können. Damit lassen sich recht leicht unglaublich hohe Performancegewinne erzielen. Vorrausgesetzt, man kann damit umgehen
_________________ "Für kein Tier wird so viel gearbeitet wie für die Katz'."
Das ist mir schon klar das ein Dual Core Prozzi bei Anwendungen, die keine Dual Core Optimierung mit sich bringen nichts bringt.
Ich meinte ja nur: Der Performance Verlust (bzw. der Abfall der Framerate) von ca. 50% entsteht ja nur bei meinem Dual Core Rechner. Am 2. PC, am Laptop und auf dem PC eines Freundes haben beide Versionen der Anwendung die Selben FPS. Und da keiner dieser 3 Rechner einen Dual Core Prozzi besitzt, ist die Vermutung ja nahre, das es damit etwas zu tun hat. Hab ja nicht gesagt, dass es daran liegt, dass 2 Kerne benutzt werden
Naja wie dem auch sei, ihr habt schon richtig gesagt, ich brauche mir da keine Gedanken drum machen.. so wie es aussieht werden maximal 1000 Partikel gleichzeitig plus ein paar vereinzelte Quads gezeichnet, und das läuft sogar auf nem 1Ghz mit 32Mb Geforce2 mit 100FPS. Also auf jeden Fall ausreichend.
Das Programm hängt sich nach wie vor ab und zu einfach auf. Weitere Tests haben ergeben, dass aber alles ausgeführt wird. Also z.B. auf Tastaturtastendrücke etc. wird reagiert. Es muss also z.B. am SwapPuffer liegen oder so etwas, dass eben den Fensterinhalt aktualisiert...
Ich hoffe ihr habt noch ein paar Ideen!
Grüße
Passi
Edit:
Nächste Erkenntnis zu meinem anderen Problem (langsam/schnell):
Code:
QueryPerformanceCounter(QPCStart);
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
Game.Main();
SwapBuffers(DC);
QueryPerformanceCounter(QPCEnd);
TimeFactor :=((QPCEnd-QPCStart)/ QPCFreq)*70;
<- alles läuft normal schnell.
Code:
QueryPerformanceCounter(QPCStart);
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Hmmm SwapBuffers scheint probleme zu machen... Ich kenn mich mit den Internas nicht aus, aber eventuell gibts probleme mit deinem DC. Vielleicht ein falsches Pixelformat. Keine Ahnung....
Aber wieso das schwankt ist mir unklar...
Vielleicht wärs günstig wenn du dein Projekt mal hier als Anhang veröffentlichst. Falls du streng geheime Sachen drinnen hast, kannst du die ja vorher rausräumen.
Das wäre ganz neben bei auch noch ne Idee. Wirf alles raus aus deinem Programm was dich an den Teufel geb... sorry... falscher film .... alles raus bis du nur noch das Skelett hast. Wenns dann immer noch nicht geht, dann wirst du wohl ums hochladen nicht drum rum kommen.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Achtung: Form1.Enabled=false, denn dann habe ich das Problem mit Maus drüber=langsam (siehe anderer Thread) nicht mehr.
Wie gesagt, diese Exe hängt sich in unbestimmten Abständen auf, reagiert aber auf Tastenbefehle etc. glgetError liefert zu jedem Zeitpunkt (auch nach nem Hänger) 0 zurück.
Wenn Ihr euch das schon anschaut, vllt. könnt ihr mir verraten wo der Fehler liegt, wenn man mit der Spielfigur ganz nach unten hüpft, da wackelt sie dann hoch und runter -.-
Mitglieder in diesem Forum: 0 Mitglieder und 8 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.