static JComponent jMaxSpeedAnimationWithText(IF0_Pair renderFrameWithText) { new ImageSurface is; is.pixelate(true); is.autoZoomToDisplay(true); new DoubleFPSCounter fps; var textArea = typeWriterFont(uneditableTextArea()); awtCalcContinuously(is, -> { try { var imageAndText = renderFrameWithText!; fps.inc(); is.setImage(pairA(imageAndText)); setText(textArea, nlCombine_rtrim(fps, pairB(imageAndText))); } catch print e { setText(textArea, exceptionToStringShort(e)); sleepSeconds(1); // error penalty } }); ret jvsplit(jscroll_center_borderless(is), textArea); }