ich hab ein problem bei meinem Flipbook... wer es nicht kennt, das ist eine art media player. Na ja, das problem ist, das ich via QueryPerformanceCounter die zeit messe um exakt auf 25fps zu kommen mit der bildanzeige.. also damit videos etc in korrekter geschwindigkeit laufen.
Das klappt auch wunderbar, nur merkwürdiger weise fängt bei einer multi-core CPU das ganze zu ruckeln an.. und das liegt nicht daran das der rechner ausgelastet ist oder so, sondern nur an der zeitmessung. Denn, wenn ich im Taskmanager dem Flipbook nur eine CPU zuweise läuft es einwandfrei flüssig..
Hat da irgendwer ne idee was ich tun kann?
Im moment wäre mein einziger ansatz dem Flipbook von hause aus nur eine CPU zuzuweisen.. aber das find ich nur wenig optimal da ich auch viele threds zum cachen etc verwende..
Wird deine Zeitmessung in veschiedenen Threads gemacht/wiederholt?
nein
Ich habe eine funktion "CalculateFrame" welche das aktuelle frame anhand der errechneten zeit liefert.. ursprünglich wurde die immer im Onidle aufgerufen.. nachdem das aber auch probleme machte hab ich es in einen thread ausgelagert... sprich - es gibt einen thread der endlos läuft und einfach nur immer in ner synchronize-funktion die calculateFrame funktion aufruft. (der thread ruft sie nur auf, sie wird nicht im thread gemacht).
Der Zähler, der bei QueryPerformanceCounter abgefragt wird, muss nicht auf jeder CPU den gleichen Stand haben. Daher kann es zu Sprüngen kommen, wenn der Thread die CPU wechselt.
Der Zähler, der bei QueryPerformanceCounter abgefragt wird, muss nicht auf jeder CPU den gleichen Stand haben. Daher kann es zu Sprüngen kommen, wenn der Thread die CPU wechselt.
und.. kann ich da irgendwas gegen tun?
(so vonwegen einen Thread nur für die Zeitmessung erstellen und diesen Thread einer CPU zuweisen oder so?)
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Du kannst mittels SetThreadAffinityMask einstellen auf welchen CPUs der Thread ausgeführt. Ähnlich wie über den Taskmanager aber halt nur für einen einzelnen Thread anstelle des gesammten Prozesses. Denke das sollte schon genügen.
Mitglieder in diesem Forum: Bing [Bot] und 5 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.