AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi 25mal / Sekunde Screenshot machen
Thema durchsuchen
Ansicht
Themen-Optionen

25mal / Sekunde Screenshot machen

Ein Thema von kurtm1 · begonnen am 13. Dez 2003 · letzter Beitrag vom 15. Dez 2003
Antwort Antwort
Seite 3 von 3     123   
kurtm1

Registriert seit: 13. Dez 2003
348 Beiträge
 
#21

Re: 25mal / Sekunde Screenshot machen

  Alt 14. Dez 2003, 15:10
Hallo!
Die Ausgänge auf der Graka habe ich aber geht darum ein digital Video aufzunehmen. Länge: sekunden bis wenige Minuten.

Wie kann ich eine Laufzeitmessung machen?

640*480 wäre auch gut
  Mit Zitat antworten Zitat
Benutzerbild von trifid
trifid

Registriert seit: 12. Sep 2003
297 Beiträge
 
#22

Re: 25mal / Sekunde Screenshot machen

  Alt 14. Dez 2003, 16:10
Hallo,

Zitat:
Die Ausgänge auf der Graka habe ich aber geht darum ein digital Video aufzunehmen. Länge: sekunden bis wenige Minuten.
640*480 wäre auch gut
jetzt kannst Du ausrechnen wieviel Speicher Du brauchst (pro Sekunde und für den ganzen Film)
und entscheiden ob Du zuerst alles im Arbeitsspeicher einlesen möchtest und danach die einzelnen Sache (Bilder/Frames) abarbeiten möchtest
oder ob Du über einen FileStream gleich auf Platte schreiben willst ...

Zitat:
Wie kann ich eine Laufzeitmessung machen?
normalerweise mit
anfang := Time;
// mach was
ende := Time;
diff := ende - anfang;
aber das ist viel zu ungenau ...
auch der GetTickCount ist nur im 10ms Bereich genau, verwende den QueryPerformanceCounter
da bekommst Du im 1ms Bereich genaue Zeiten geliefert

Delphi-Quellcode:
   var liStart : TLargeInteger;
   var liEnd : TLargeInteger;
   var liDiff : TLargeInteger;
   var b : Boolean;
   var liFreq : TLargeInteger;
   var dTime : Double;
begin
   b := QueryPerformanceFrequency (liFreq);
   b := QueryPerformanceCounter (liStart);
      // START Zeitmessung
      Sleep (513);
      // für Dich ist hier der BitBlt-Aufruf zu verwenden
      // ENDE Zeitmessung
   b := QueryPerformanceCounter (liEnd);

   liDiff := liEnd - liStart;

   // Zeit in Sekunden
   dTime := liDiff / liFreq;
was mir noch eingefallen ist, in der Spiele-Entwicklung wird nicht jedes Pixel ausgelesen
entweder jede zweites Pixel oder jede zweite Zeile
auch die game-entwickler haben Tricks, vielleicht wäre die vorgehensweise über diesen Bereich
effizienter
  Mit Zitat antworten Zitat
iamjoosy

Registriert seit: 12. Nov 2003
53 Beiträge
 
#23

Re: 25mal / Sekunde Screenshot machen

  Alt 15. Dez 2003, 00:43
@trifid:

Das bringt mich (für mein Problem) auf eine Idee:

Gibt es denn eine Möglichkeit festzustellen, dass sich auf dem Bildschirm etwas geändert hat ?
Dann könnte man einfach bei jeder Änderung einen Screenshot machen, und nebenbei die Zeit protokollieren und später die entprecheden Frames einfach mehrmals hintereinanderschreiben ?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz