Fps.cpp 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #include "Fps.h"
  2. #include <Bild.h>
  3. #include <Prozess.h>
  4. #include <Schrift.h>
  5. #include <Text.h>
  6. #include "Variablen.h"
  7. using namespace Framework;
  8. // Inhalt der Fps Klasse aus Fps.h
  9. // Konstruktor
  10. Fps::Fps()
  11. : Zeichnung()
  12. {
  13. pr = new Prozess();
  14. i = 0;
  15. fpsCount = 0;
  16. nowFps = 0;
  17. nowCpu = 0;
  18. nowMem = 0;
  19. textRd = new TextRenderer( dynamic_cast<Schrift *>( uiFactory.initParam.schrift->getThis() ) );
  20. textRd->setSchriftSize( 12 );
  21. sFarbe = 0;
  22. }
  23. // Destruktor
  24. Fps::~Fps()
  25. {
  26. delete pr;
  27. textRd->release();
  28. }
  29. // nicht constant
  30. void Fps::setSFarbe( int f ) // setzt die Schrift Farbe
  31. {
  32. sFarbe = f;
  33. rend = 1;
  34. }
  35. bool Fps::tick( double tickval ) // tick
  36. {
  37. i += tickval * 60;
  38. if( i >= 60 )
  39. {
  40. nowFps = fpsCount;
  41. nowCpu = (int)pr->getCPU();
  42. nowMem = (int)( pr->getMem() / 1024 );
  43. fpsCount = 0;
  44. i -= 60;
  45. rend = 1;
  46. }
  47. bool ret = rend;
  48. rend = 0;
  49. return ret;
  50. }
  51. void Fps::render( Bild &zrObj ) // zeichnet nach zrObj
  52. {
  53. fpsCount++;
  54. if( textRd && sFarbe )
  55. {
  56. Text renderT( "FPS: " );
  57. renderT.append( nowFps );
  58. renderT.append( "\nCPU: " );
  59. renderT.append( nowCpu );
  60. renderT.append( "%\nMem: " );
  61. renderT.append( nowMem );
  62. renderT.append( "kb" );
  63. textRd->renderText( 10, 10, renderT, zrObj, sFarbe );
  64. }
  65. }
  66. // constant
  67. int Fps::getFps() const // gibt fps zurück
  68. {
  69. return nowFps;
  70. }
  71. int Fps::getCpu() const // gibt die Cpu zurück
  72. {
  73. return nowCpu;
  74. }
  75. int Fps::getMem() const // gibt den Arbeitsspeicher zurück
  76. {
  77. return nowMem;
  78. }
  79. int Fps::getFarbe() const // gibt die Farbe zurück
  80. {
  81. return sFarbe;
  82. }