Einzelnen Beitrag anzeigen

Benutzerbild von trifid
trifid

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

Re: 25mal / Sekunde Screenshot machen

  Alt 14. Dez 2003, 15: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