Showing only frame of window, but no content with SDL2.0

Hello!

Trying to do simple game w SDL 2.0 and have problem with window - it doesn’t show anything. Appear only frame, but nothing more. I download many examples of code, and with all of it is the same problem.
So, i try to debug it on my way, and i found, that if I add line:

SDL_Delay(150);

after instruction
SDL_LoadBMP();

and before
SDL_BlitSurface();

Then everything is ok.
So, it is normal or there is some other method to solve this problem?

Working on:

Manjaro Linux, kernel 4.9.52,
Intel C2D P8600,
Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07),
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset
OpenGL version string: 2.1 Mesa 17.2.1