Echtzeit / Stabile Zeit

Status
Nicht offen für weitere Antworten.

XXL

Mitglied
Hi!
Bei meinem aktuellen Projekt setze ich

Code:
try{Thread.sleep(10);}

ein, um einen vernünftigen Bildfluss zu bekommen ... irgentwie beobachte ich aber abnormale Geschwindigkeitsschwankungen und auch ruckeln :bloed: - den genauen Grund kenne ich nicht wirklich

jedenfalls: ich wollte ein besseres Zeitsystem - ich würde mich über jede Hilfe freuen, also z.B. auch wo man derartige infos findet bzw. wo man in dokumentation suchen muss

:###
 

Apo

Bekanntes Mitglied
am besten du würdest Timer benutzen wie z.B. den GageTimer ... damit bekommst du sehr gute Ergebnisse.
Sonst mache ich es immer folgendermaßen
Code:
public void run()
	{
		Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
		
		long	startTime	= System.nanoTime();

		while ( this.bThread )
		{
			// run logic ...
                        ...
			try
			{
				startTime += TimeUnit.MILLISECONDS.toNanos( this.delay );
				long t	= TimeUnit.NANOSECONDS.toMillis( startTime - System.nanoTime() );
				Thread.sleep( Math.max(0, t ) );
			} catch (InterruptedException e)
			{
				break;
			}
		}
	}
 

Apo

Bekanntes Mitglied
ok, dass es so schlimm ist ... wusste ich nicht.
Dann nimm halt eine externe Library mit einem Timer wie z.B. den GageTimer, dann hast du den Stress nicht. ;)
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben