Dear visitor, welcome to VDR Portal. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.
Quoted
DWORD CAtmoDisplayCaptureInput::Execute(void) {
// process Screen Capturing... every x ms ...
DWORD tickCount;
while (this->m_bTerminated == FALSE) // in this loop the picture is read and the colors are calculated
{
tickCount = GetTickCount();
CalcColors(); // read picture and calculate colors
tickCount = GetTickCount() - tickCount;
if (tickCount < 20) // wait 20ms to avoid 100% CPU usage
{
// org: this->ThreadSleep(20); // hab ich für Fehler gehalten?
if(this->ThreadSleep(20 - tickCount) == FALSE)
break;//sleep wurde durch thread terminate beendet!
}
}
return 0;
}
This post has been edited 1 times, last edit by "Igor" (Sep 17th 2007, 9:04am)
mach mirs nur ruhig schwer... ich will ja nur davon weg... irrsinnigerwelche ständig Screenshots zu ziehen für die Ausgabe - und somit sicherlich viel unnötige CPU Last zu erzeugen... daher halt die Idee wenn man die Bildbeschaffung direkt in den Player verlagern könnte... dann würde AtmoLight auch im Fenstermodus des Players funktionieren... hätte ja was für sich?
Quoted
während/nach einem Video ~20 %
Quoted
Interpolation funktioniert nicht?
Quoted
Ich hatte beim Testfilm das Gefühl, das direkt zur neuen Farben gesprungen wird, ohne überhaupt zu interpolieren. Kann das sein?
This post has been edited 1 times, last edit by "Igor" (Sep 17th 2007, 10:28pm)
Quoted
Original von Igor
@Matthiaz
kannst dir ja gleich nochmal ne neue Version ziehen - mal schauen wie die CPU Last sich jetzt bei dir verhält?
Quoted
Das schnelle Überblenden ist genau das, was der intelligente Filter bewirkt. (->Sprungerkennung) Das kann man genau so empfindlich einstellen wie man will (-> Filter_MeanThreshold)
Quoted
Leider habe ich keine win-Entwicklungsumgebung, kann mir den code also nur anschauen und was dazu sagen :-)

Quoted
o Der Grund, warum Capture und Calc in 2 Threads geteilt wurde hatte was damit zu tun, verschiedene Einhabemethoden einzubinden, genau weiß das Samael. Für die Win-Version machts aber in meinen Augen keinen Sinn, Capture und Calc sollen also ruhig in einem Thread direkt hintereinander laufen.
Quoted
Wichtig ist nur, dass der Filter und die Ausgabe getrennt vom
Calc mit einer festen Frequenz laufen!
Quoted
Interesant wäre es sicher noch zu wissen, mit welcher Frequenz sich die Daten im Bildpuffer von Win ändern...schneller muss das Ganze ja auch nicht laufen. Toll wäre es, auf genau diese Änderungen zu warten und genau danach zu capturen; zusätzlich sollte freilich eine max. Frequenz beachtet werden.
This post has been edited 1 times, last edit by "Igor" (Sep 18th 2007, 7:47am)
Quoted
Also: ohne Video ist live bei etwa 1%. Mit Video (relativ egal ob Windows Media Player, Media Player Classic oder VLC) ist Last zwischen 15-20%. Beim Beenden danach sofort wieder auf auf etwa 1% (das alles auf Arbeitsrechner AMD 3500+).
Quoted
Interessant ist, dass man nichtmal ein Video braucht: es reicht, den WMP zu öffnen und nichts machen zu lassen -> direkt 10% Last bei AtmoWinA. Da scheint irgendwas deftig zu kollidieren... ;-)
This post has been edited 1 times, last edit by "Igor" (Sep 18th 2007, 7:46am)
Quoted
Original von Igor
ist ja schonmal ne Verbesserung ;-) --allerdings musst du auch bedenken im Gegensatz zu "deiner" Software holt diese nicht 1000 Pixel sondern 64x48Pixel ab ... versuch mal bei deiner Software soviele Pixel zu holen - mal gucken wie sich dann die CPU Last verhält?
This post has been edited 2 times, last edit by "Matthiaz" (Sep 18th 2007, 9:13am)
Quoted
Als Fazit kann man sagen: beide Methoden haben diesen lästigen Bug, allerdings fällt er bei der alten Methode nicht auf, da durch die Interpolation künstliche Pausen eingefügt worden sind, die nun nicht mehr vorhanden sind. Als Workaround könnte man AtmoWinA einfach mit niedriger Priorität starten... ;-) Spass beiseite: offensichtlich sind diese C++-Pixelgrabber wohl anfällig gegenüber jegliche Art von Overlays. Tritt dieser Bug (hohe Last einfach nur mit WMP offen) eigentlich auch bei VNC auf?
This post has been edited 1 times, last edit by "Igor" (Sep 18th 2007, 11:05am)