Render.cpp 697 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #include "Render.h"
  2. #include <Zeit.h>
  3. // Inhalt der Render Klasse aus Render.h
  4. // Konstruktor
  5. Render::Render( Bildschirm *b )
  6. : Thread()
  7. {
  8. bildschirm = b;
  9. beendet = 0;
  10. }
  11. // Destruktor
  12. Render::~Render()
  13. {
  14. beenden( );
  15. bildschirm->release();
  16. }
  17. // nicht constant
  18. void Render::thread()
  19. {
  20. ZeitMesser *timer = new ZeitMesser();
  21. while( !beendet )
  22. {
  23. double tickVal = timer->getSekunden();
  24. timer->messungStart();
  25. bildschirm->tick( tickVal );
  26. bildschirm->render();
  27. if( tickVal < 1.0 / 30.0 )
  28. Sleep( (int)( ( 1.0 / 30.0 - tickVal ) * 1000 ) );
  29. timer->messungEnde();
  30. }
  31. timer->release();
  32. beendet = 0;
  33. run = 0;
  34. }
  35. void Render::beenden()
  36. {
  37. beendet = 1;
  38. warteAufThread( 1000 );
  39. }