Da ich mich im Rahmen meiner Diplomarbeit sehr viel mit Webcams beschäftige ist mir aufgefallen dass es mehrere wichtige Faktoren gibt von welchen die Performanceleistung (Bilder pro Sekunde) abhängt.
Grundsätzlich kann man sich von einer handelsüblichen Webcam um ca. 30€ auch bei idealen Lichtbedingungen kaum mehr als 20 Bilder pro Sekunde erwarten. Trotzdem gibt es Umstände welche dazu führen dass man auch bei sehr guten Bedingungen nicht mehr als 6 fps erhält.

Folgende vier Kiriterien sind nach meiner Erfahrung kritisch für die Leistung einer Webcam:
- Die Qualität der Webcam (Linse, Auflösung, Sensor, Software)
- Vorbearbeitung der Webcam Software (z.B.: Restlichtverstärkung)
- Die Beleuchtungsverhältnisse (Tageslicht, Kunstlicht, Unterbelichtung, Überbelichtung)
- Auf welche Art wird ein Bild von der Webcam angefordert (Timer oder EnterFrame)
Wenig überraschend ist die Performance der Webcam abhängigt von der Bauweise und der Beleuchtungsumgebung. Zusätzlich kommt noch hinzu dass unterschiedlichste Einstellungen bei Webcams die Ergebnisse stark beeinflussen. Viele Webcams bearbeiten das Bild breits mehrmals bevor es an andere Programme weitergereicht wird. Einige dieser Bearbeitungsschritte, welche großen Einfluss auf das Bild haben können, sind zum Beispiel die Restlichtverstärkung oder der Weißabgleich.
Für Flasher interessant ist der Punkt 4. Die Performance der Webcam hängt nämlich auch zu einem Gutteil davon ab wie und wie oft ein Bild von der Webcam abgefragt wird. Viele Flashfilme werden mit 31 oder 60 fps ausgeführt und oft wird auch mit dieser Framerate die Webcam nach neuen Bildern gefragt bzw. das Bild der Webcam in ein Bitmap Objekt gespeichert.
Da aber Webcams kaum mehr als 20-25 Bilder pro Sekunde schaffen ist ein solch hoher Anfragerythmus nicht notwendig und führt dazu dass die Webcam bzw. der Flashplayer sich “verschluckt” und dann weniger Bilder liefert als eigentlich möglich wären (z.B. statt 22 fps nur 12 fps). Besonders bei der Nutzung von Pixel Bender Filtern (Version 1.5.1) ist dieser Effekt auffällig.
Die Lösung ist relativ einfach, es genügt die Abfragen an die Webcam von der globalen Framerate des FlashPlayers mittels eines Timers zu lösen. Allgemein bewirkt dieser “Trick” auch dass die gesamte Performance des Flash Players etwas nach oben geht (5-10% mehr fps).
Warum sich Webcams im Flashplayer so verhalten ist (mir) noch nicht klar, der Effekt ist jedoch deutlich sichtbar.