anchor.diff:      (gl:vertex 0.0 1.0)
       (gl:vertex -1.0 -1.0)
       (gl:vertex 1.0 -1.0)
  -    (gl:end)))
  +    (gl:end))
  +  (with-slots (start-time frames) window
  +    (incf frames)
  +    (let* ((current-time (get-internal-real-time))
  +           (seconds (/ (- current-time start-time) internal-time-units-per-second)))
  +      (when (> seconds 5)
  +        (format t "FPS: ~A~%" (float (/ frames seconds)))
  +        (setf frames 0)
  +        (setf start-time (get-internal-real-time))))))
   
   (defmethod close-window ((window test-window))
     (format t "Bye!~%")
  
positive.code: (in-package :sdl2.kit.test)
  
  (defclass test-window (gl-window)
    ((rotation :initform 0.0)))
  
  ;;; All of these methods are OPTIONAL.  However, without a render
  ;;; method, your window will not look like much!
  
negative.code: (defmethod initialize-instance :after ((w test-window) &key &allow-other-keys)
    ;; GL setup can go here; your GL context is automatically active,
    ;; and this is done in the main thread.
    (setf (idle-render w) t)
    (gl:viewport 0 0 800 600)
    (gl:matrix-mode :projection)
    (gl:ortho -2 2 -2 2 -2 2)
  