Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi 25mal / Sekunde Screenshot machen (https://www.delphipraxis.net/13219-25mal-sekunde-screenshot-machen.html)

kurtm1 14. Dez 2003 14:10

Re: 25mal / Sekunde Screenshot machen
 
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

trifid 14. Dez 2003 15:10

Re: 25mal / Sekunde Screenshot machen
 
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

iamjoosy 14. Dez 2003 23:43

Re: 25mal / Sekunde Screenshot machen
 
@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 ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:28 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz