Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Daran kann es nicht nur liegen, sondern daran liegt es.
Der wgl befehl geht davon aus das er aus dem programm aufgerufen wird und ist für opengl und nicht directx gedacht.
Desweiteren glaube ich das es wohl kaum oft genug aufgerufen wird, sodass es eine flüssige animation geben könnte.
Möglichkeit hier wäre nun die prozesspriorität zu erhöhen um dein caputre tool häufiger zum zuge kommen zu lassen.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Naja, ich habe ja das wgl ausgeschlossen. ähm .. oder doch nicht? .. doch, eigentlich schon.
Gibt es ne möglichkeit die prozesspriorität mit delphi erhöhen? .. wenn ja, wie?
Ich habe irgendwo gelesen, daß das Programm "GameCam" mit Hooks arbeiten soll. Kann mir nichts darunter vorstellen, da ich Hooks nur von Tastatur und Mausabfragen kenne.
Kennst du dich damit aus ?
OK, das mit der Programm Priorität hab ich gefunden.
Ich bin mir aber immer noch nicht sicher ob ich nicht was im obrigen Code vergessen habe. Habe mir mal zur Hilfe der Frames ein OSD-Text angelegt, das mir die fps anzeigt bei der aufnahme. Zwar sehe ich das immer nur stückchenhaft, da das DirectX Spiel den Text immer wieder überschreibt. (Hast du ne ahnung, wie ich das ändern kann, so das der Text immer angezeigt werden kann?)
wie du im quelltext erkennen kannst - ich führ den nochmal auf:
//_______________________________ Damit die volle Bildschirmgröße aufgenommen wird.
FWidth := screen.width;
FHeight := screen.height;
//_______________________________
FParentWin := window;
FFrameRate := fps;
end;
Es steht dort "FParentWin := window; ... Das heißt im meinem Falle, das der das Fenster der aufnahmesoftware nimmt und nicht das vom Spiel. Ist das denn von der Denkweise richtig, da ich das bei der Aufnahmeauflösung erkennen konnte, die (vor der änderrung) genau so groß war wie mein Aufnahme-Form. Wie müsste ich das denn ändern, so das direkt das Spielehandel dort drinne steht. Vielleicht ist es ja schon das problem. Also FParentWin := ???? (das handle des Spiels wenn wnd := findwindow('nil', 'meinSpiel'); ist.)
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Der code geht davon aus das du ein TForm übergibst und ich würde 100$ wetten das das was du aufnehmen willst nicht in delphi und sicherlich nicht über TForm realisiert wurde^^.
Du musst die Funktion umschreiben so dass du den Handler oder was du auch brauchst übergibt und davon sich die größe holt.
Da ich mich nicht mit hooking auskenne kann ich dir in der richtung wenig helfen.
Wobei im DC die große des Fensters steht.
_________________ "Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren" Benjamin Franklin
Ich verstehe zwar was du meinst mit dem umschreiben der funktion aber ich habe absolut kein Plan was ich jetzt machen müsste. Ich dreh noch durch ... immer irgendwelche Probleme die man nicht lösen kann. Und dabei will ich nichtmal was dolles.
Naja, vielleicht findet sich ja auch ne andere Komponente. Das AviCap ist zwar ganz gut und funktioniert ja auch irgendwie aber nicht so wie ich will. Abgesehen davon funktioniert in meinem Programm vieles nicht so wie ich will ^^
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.