obscene
Member
My game runs at 60 fps, but I allow frameskipping to allow less powerful machines to run it at 30 by disabling the draw event every other frame.
On PC, this works perfectly because GM allows the last drawn frame to remain on the screen during the previous step. See video...
The results on Linux are much different. When the draw event is disabled, it appears that the PREVIOUS frame is somehow drawn. See video...
Mac does something worse...
Not really sure if this is a bug I should file, or if this is expected behavior and perhaps there is a way I can work around this. Suggestions?
Code:
switch(frame_skip)
{
case 60: // No frameskipping
draw_enable_drawevent(true);
break;
case 30: // Skip every other frame
frame = 1 - frame;
draw_enable_drawevent(frame);
break;
case -1: // Auto on/off
if (delta_time > 16667)
{
frame = 1 - frame;
draw_enable_drawevent(frame);
}
else
{
frame=1;
draw_enable_drawevent(true);
}
break;
}
The results on Linux are much different. When the draw event is disabled, it appears that the PREVIOUS frame is somehow drawn. See video...
Mac does something worse...
Not really sure if this is a bug I should file, or if this is expected behavior and perhaps there is a way I can work around this. Suggestions?
Last edited: