JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=a5c180d9d4535913f53bfa00e4ecbeb5Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Performance Analyse Tools
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Catscratch1
Junior JLI'ler



Anmeldedatum: 20.01.2005
Beiträge: 98

Medaillen: Keine

BeitragVerfasst am: 31.01.2005, 09:20    Titel: Performance Analyse Tools Antworten mit Zitat

Hi,

was für Performance Analyse Tools kennt ihr, die ihr für eure Entwicklungen nutzt?

Ich habe bisher von PIX gelesen. Funktioniert das auch mit Managed DirectX?

Gibt es auch solche Tools für OpenGL?


Thx
_________________
"Dispatcher und Scheduler sind wie Brüder, bloß anders"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 31.01.2005, 09:21    Titel: Antworten mit Zitat

Profiler coden Wink Das reicht
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Catscratch1
Junior JLI'ler



Anmeldedatum: 20.01.2005
Beiträge: 98

Medaillen: Keine

BeitragVerfasst am: 31.01.2005, 15:07    Titel: Antworten mit Zitat

Was meinst du damit?
_________________
"Dispatcher und Scheduler sind wie Brüder, bloß anders"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 31.01.2005, 15:16    Titel: Antworten mit Zitat

Halt eine Struktur die 2 Funktionen hat:

Start und Stop.

Start setzt den Timer auf die momentane Zeit des Profilers wo er startet.
Stop setzt den Timer auf die momentane Zeit des Profilers wo er endet.

Sähe dann ca. so aus:

CPP:
profiler::start ();
 
for (int i=0; i<90000; ++i)
{
    Do_Anything ();
}

profiler::stop ();

MessageBox (NULL, profiler::getDeltaTimeString().c_str(), L"Vergangene Zeit zwischen Start und Stop", MB_OK);



ganz popelige Timerberechnung, mehr nicht.

So kann man schnell Zeitkritische Stellen ausfindig machen.
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
xardias
JLI Master


Alter: 38
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 01.02.2005, 12:41    Titel: Antworten mit Zitat

Manche Compiler wie Gcc (inkl Ports wie MinGW) unterstützen direkt Profiling.
Man muss nur einen Parameter beim Compilen hinzufügen und bekommt dann für jede Funktion die Anzahl der Aufrufe, Zeit, usw aufgelistet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Catscratch1
Junior JLI'ler



Anmeldedatum: 20.01.2005
Beiträge: 98

Medaillen: Keine

BeitragVerfasst am: 01.02.2005, 14:54    Titel: Antworten mit Zitat

Mir gehts eher so um CPU LAst, GPU Last. RAM, VRAM etc...
_________________
"Dispatcher und Scheduler sind wie Brüder, bloß anders"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 01.02.2005, 15:01    Titel: Antworten mit Zitat

Für RAM gibbet in der WinAPI Funktionen dafür, das selbe mit CPU last.

Bei GPU last siehts anders aus, Treiber bieten oft keine Schnittstellen um diese Werte abzufragen.
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
abc_d
JLI Master Trainee


Alter: 34
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 01.02.2005, 15:20    Titel: Antworten mit Zitat

RAM/CPU:

http://www.online-tutorials.net/system/frequenz-des-prozessors-ermitteln/sourcecodes-t-19-39.html
http://www.online-tutorials.net/system/arbeitsspeicher-herausfinden/sourcecodes-t-19-27.html
_________________
http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.

Never touch a running System - der Systemling
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 01.02.2005, 16:19    Titel: Antworten mit Zitat

BLD
ich glaub er will die Auslastung der CPU haben, welche das Programm benötigt.
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Catscratch1
Junior JLI'ler



Anmeldedatum: 20.01.2005
Beiträge: 98

Medaillen: Keine

BeitragVerfasst am: 02.02.2005, 12:52    Titel: Antworten mit Zitat

PIX soll das ja für Direct3D können. Muss ich aber erstmal einbinden am Wochenende.

Wenn ich sowas für OpenGL und Java3D finden würde, wäre das sehr hilfreich.

Ich darf nämlich nur die Dinge in meiner Arbeit angeben, die ich bei allen 3 Bibliotheken messen kann.
_________________
"Dispatcher und Scheduler sind wie Brüder, bloß anders"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
xardias
JLI Master


Alter: 38
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 02.02.2005, 15:51    Titel: Antworten mit Zitat

Catscratch1:
Ich glaube aber mit den Werten wirst du nicht sehr viel anfangen können. Es ist für die Performance wirklich wichtiger zu wissen, wo in deinem Programm die meiste Zeit drauf geht. Und dazu dienen Profiler. Es wird dir ja nicht weiter helfen, wenn du weißt, dass in einer speziellen Scene das Spiel besonders lahm wird (das merkst du auch so). Du musst wissen wo der Bottleneck ist.

Ich weiß nicht, ob es sie auch für C++ gibt, aber für Java gibt es auch spezielle Memory Profiler, die auch die Speichernutzung protokollieren.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Catscratch1
Junior JLI'ler



Anmeldedatum: 20.01.2005
Beiträge: 98

Medaillen: Keine

BeitragVerfasst am: 02.02.2005, 19:20    Titel: Antworten mit Zitat

Ja das mag ja stimmen.
Jedoch ist ein Ziel meiner Studienarbeit die unterschiedliche Auslastungen zu messen, wenn ich bestimmte Konstrukte entweder in den RAM oder VideoRAM platziere.

Natürlich macht es Sinn bestimmte Engpässe im Programm zu ermitteln. Das werd ich auch nutzen, um die einzelnen Programme am effizientesten zu gestalten.

Ein Ziel, was mein Prof haben wollte, ist, zu schauen, wie viel am Framework verloren geht und die Hardware so viel wie möglich rauszurechnen.

Seine Idee war beispielsweise der MESA Treiber unter Linux. Aber bei DirectX ist das wohl sehr nutzlos.
Deswegen wäre es schön, dass ich die Auslastung der GPU in den Anwendungen überwachen kann, damit die Messungen gescheit werden.
Soweit bin ich noch nicht, da ich ja erst Beispiele entwickeln muss.
_________________
"Dispatcher und Scheduler sind wie Brüder, bloß anders"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Catscratch1
Junior JLI'ler



Anmeldedatum: 20.01.2005
Beiträge: 98

Medaillen: Keine

BeitragVerfasst am: 04.02.2005, 18:57    Titel: Antworten mit Zitat

Hallo,

ich habe fertige profiler gefunden, die bestimmte Zeiten messen, sowie die Anzahlen der Aufrufe. Beispiel shark für OpenGL auf einem Apple.
Kennt einer solche Tools oder irgendwelche Analysetools für Windows oder Linux?
_________________
"Dispatcher und Scheduler sind wie Brüder, bloß anders"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 04.02.2005, 19:04    Titel: Antworten mit Zitat

Was erwartest Du Dir von so einem Tool was Dir Dein Hirn mit Logischem Denken und einem Timer nicht bringt?
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Catscratch1
Junior JLI'ler



Anmeldedatum: 20.01.2005
Beiträge: 98

Medaillen: Keine

BeitragVerfasst am: 04.02.2005, 21:02    Titel: Antworten mit Zitat

Ich erwarte handfeste, statistische Ergebnisse, die ich in meine Studienarbeit eintragen kann ohne das Rad neu erfinden zu müssen, um den ganzen kram zu messen!
_________________
"Dispatcher und Scheduler sind wie Brüder, bloß anders"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum