In openGL , we draw graphics in a eternal loop while(!glfwWindowShouldClose(window)) (unless a quit event occurs ,setting the condition to false). It's said that in this render loop we need to call glclear each time a new loop performed , which 'clears background from the previous drawn to a const color'.I guess it's indicating we need to refresh framebuffer each frame . Thus each loop is a frame. However , which is controlled by a simple while(true) ( I know it's not 'true' in fact , but to some certain degree , they have the same meaning) , without stuffs like 'waitticks' or 'setframerate', which means framerate can be very very high or very very low .