Display flickers if I run the Game Engine
Closed, ArchivedPublic

Description

System Information
TOSHIBA
Intel Core i7-2670QM 2.20 GHz
Windows 7 64 bit
RAM 6GB
Intel(R) HD Graphics

Blender Version
Blender 2.79
Broken: Game engine
Worked: (optional)

Short description of error
When I start a demo game either pressing P (embedded), by using the standalone Player or exporting the app to an EXE file and play it,
after a few movements of a simple cube with the arrow keys, the screen start to flicker in very strange ways ...
I noticed that occasionally the game starts fine ( no gray flickering screen ) and if I do not interact with the game, nothing happens...
Also sometimes pressing P starts with a gray screen with some horizontal lines .. no graphics... just the gray screen with some lines on it.

Exact steps for others to reproduce the error
Just create a cube with dynamics physics , a plane with static physics and a sensor for Up Arrow to move forward and Left arrow to turn left.
That is it no material, no textures, no nothing !

I must add that I have developed many apps with Java using OpenGL libs ( LWJGL ) on the same computer with no problems like this described here.
So I can assume that my system can run OpenGL application perfectly well. In fact, MINECRAFT was written in Java with the LWJGL and runs perfectly well on my TOSHIBA 6 years old computer.

I really enjoy using Blender but I need to be able to play my own games ! Thank you all for the great job !!

Details

Type
Bug
Philipp Oeser (lichtwerk) triaged this task as Incomplete priority.Jan 31 2018, 5:17 PM

Afraid I cannot reproduce this.
Note: it always helps if you attach a simple .blend, but I've done this based on your description:

Can you confirm your issue happens with the .blend above as well?

If thats the case:
Try to run Blender through Software OpenGL, this will be much slower however, if everything works then it means that the bug is spefic for your GPU/Driver and you should report the bug to your GPU vendor instead.

  • On MS-Windows: Download this dll and copying it so its located in the same directory as 'blender.exe' and run Blender normally.

Marking as incomplete until we have these questions out of the way...

I tried your .blend on my computer and I get the same results: gray flickering screen.
I'm attaching my own blend file and 2 screenshots of the problem.

BTW, that DLL file you are sending, where does it come from ?
AND how do I run Blender through Software OpenGL ? What does it mean ?

Thanks for the quick response.

I would like to add something I discovered playing with the problem.
The flickering starts only when I make the cube turn and always at the same angle.
If I keep turning ( pressing left arrow key ) the effect disappears and if you keep pressing until the cube is again rotated to the same angle, it appears again.
Nothing happens when you just move forward...
I played with different settings to see if somehow I can make it go away but it persist.

I added some more geometries to the scene and the effect disappears !!!
So far so good !! I'll keep working on my game and see how it goes.

So I hope someone more experience than me can point me to the right direction in order to find a solution.
Thanks.

Bad news.. the problem is still there. I added more geometries and for a while everything worked fine.
But after playing around with the game, nothing changed, turning the geometries make the screen flicker like the first time.
A specific angle and some timer 2 different angles.
I guess someone at Blender must check this issue out.
Hop for a solution soon.
And again, thanks for the great work guys.

BTW, that DLL file you are sending, where does it come from ?

thats blenders 'official' softwaregl [link is from download.blender.org]

AND how do I run Blender through Software OpenGL ? What does it mean ?

Copy the DLL so its located in the same directory as 'blender.exe' and run Blender normally. (remember to remove again after the test)

You could also try changing blenders "Window Draw Method" (under File>User Preferences>System tab)

If that all doesnt work out we could check the output of "blender.exe -d" or "blender.exe --debug-gpu"

Having all this happening only at specific angles sounds strange though, I cannot reproduce this with the file you provided here...

Philipp, thanks for your answer.
I downloaded opengl32.dll but instead of copying it into Blenders directory, I copied into my application .exe directory.
It should work either way. And indeed, it works ! Much much slower but no flickering ! Great job !!!

Now my question is, what is this version of opengl32.dll ? I figured there must be an old version of that DLL
on my system that is causing the problems somehow. But putting it under Blender directory will solve the problem
only when the game runs in the embedded player but not the exported version. No opengl32.dll is exported there.
So it must be somewhere in the system. Am I write ? If I put the DLL under Blender's directory, Blender itself will run slower too
because it runs on OpenGL..

The thing is that it solved the problem but the app runs much slower. I figured I must tweak the settings to make it work better.
And I must copy that DLL on my export exe directory... Not a big deal if the problem only happens on my system.
I would like to leave the issue open so more people can comment on possible solution to.
Thanks Philipp !!

Hi everyone, searching the web for a better opengl32.dll version I found this one than seams to solve the flicker problem and the speed is fine.
The page to download it is HERE and you can choose the OS you like. I'm on Windows 7 64 bit so I tested it and it looks fine to me.
I will test for a while and if you don't here anything from me about this issue, then you can assume the problem was solved.
Thank you @Philipp Oeser (lichtwerk) for pointing me to the right direction.

Hi everyone, as I suspected this new version of opengl32.dll did not work properly after all...
I tested it for a more complex scene and the flickering came back... Not as strong as before. It only affected some geometries, making them disappear. The rest of the scene remains there.
My last option was to update the drivers for my graphic card so I did. First I asked Windows to do it. It did not find any new versions. Everything was up to date according to Windows.
Searching the web I found a YouTube video of a guy with a similar problem and he suggested some software from 3DP Chip that checks the system and finds the best and most updated
version for every driver. II thought "what the hell, lets try it !" And here I'm, updated and running ! I'm now testing this new updated driver and so far so good. Everything seems to
work fine.
As for the Blender and my game I have some comments:
1 - Blender itself seems ok. Works fine and fast as allways.
2 - The stand alone player works fine too. The application runs smoothly and with no flickering or geometries disappearing.
2 - The exported version of the application also is working fine and smoothly, meaning fast.
3 - BUT ! The embedded player ( the one that start with the P shortcut ) still flickers like the first time. I don't know why ! It should work the same way as the embedded player and the
exported version but it doesn't.
As I expected, the problem was in MY system. But even after trying different versions of opengl32.dll and updating everything, the embedded player shows some problems.
I think there must be some issue there that needs debugging. Not a critical issue, after all my system is 6 years old, but It could be if the bug remains there.

Bastien Montagne (mont29) claimed this task.

Thanks for the report, but BGE has been removed from blender2.8 (feature will be brought back in a different way), so time to archive.