Drawing A Yellow Rectangle

Results of the Measurments

The following processing and memory requirements of the individual solutions have been determined:

  • Xlib on x86-64 GNU/Linux x86-64/Xorg:
    RSS: 1972 kB.
    <1% CPU average.
  • OpenGL/GLUT on GNU/Linux x86-64/Xorg:
    RSS: 12.768 kB.
    <1% CPU average.
  • Python/PyGame on GNU/Linux x86-64/Xorg:
    RSS: 34.016 kB.
    3 threads, each <1-2% CPU average.
  • Python/PyGame on GNU/Linux ARMv7/directfb:
    RSS: 20.972 kB.
    3 threads, each <1-5% CPU average.
  • GDI+ on Windows 10 x86-64:
    PWSS: 1.638 kB.
    <1% CPU average.
  • Qt Version 5 on Windows 10 x86-64:
    PWSS ca. 5.000 kB.
    <1% CPU average.
  • QuickBASIC on DOS:
    WSS: <1.024 kB.
    CPU average unknown.

… TODO: Resource measurements for Python/PyGame and OpenGL/GLUT on Windows …

Facit

The Python/PyGame solution is highly portable but, at least with the event handler i came up for it, has highest CPU impact; it also has the largest memory footprint.

The OpenGL/GLUT solution is reasonably portable, but it has to be noted that the solution is not perfect in the Windows environment; for true fullscreen operation additional effort had to be invested.

The solutions using GDI+ and Xlib feature a memory footprint that is an order of magnitude lower than that of the „higher-level“ toolkits above.

On a personal note, looking at the 1988 QB solution, i am under the impression that advances in programming environments have made at least some simple things difficult, and i wonder if they, in return, have made at least some difficult things simple.