Since TryRunTics() can absolutely return without running any gametic
(and it 100% will every-other time on fast enough hardware), it's a
waste of processing power to draw a new frame on every
doomgeneric_Tick(). This quick fix optimizes it down so it'll only try
to draw a new frame if TryRunTics() actually ran any gametics (and thus,
we have new frames to display).
In the best case scenario (the platform's DG_DrawFrame() is incredibly
fast), this will save a minute amount of processing power.
In the worst case scenario (the platform's DG_DrawFrame() is incredibly
slow), this can save several miliseconds of useless drawing, allowing
more actual gametics to be processed. In fact, without this, slower
platforms can actually dig themselves into a hole that they can never
escape from. It could start running behind on gametics due to the
useless render, which results in doing more work to catch back up in
every TryRunTics() call, further compounding the slowness.