Graphics
Intel® graphics drivers and software, compatibility, troubleshooting, performance, and optimization
20628 Discussions

Image tearing demo with HD 4600 + Windows 8.1

ARCH_R_Intel
Employee
1,870 Views

I've been having problems with screen tearing in my own authored video games, ever since I moved to a new system with a i7-4770S, HD 4600 graphics, and Windows 8.1. Of course the fault could lie anywhere between my coding and the hardware. I'd appreciate knowing whether anyone else can replicate the problem using my code or point out a mistake in my use of DirectX. I've reduced the demo to 360 lines of DirectX that makes the problem visually loud if it is present. I have not seen the problem on other hardware using similar code.

By default, the program sets up DirectX 9 with full screen mode with double-buffering and performs the following repeatedly:

  • Get a back buffer and lock it.
  • Fill it with a red checkerboard.
  • Fill it with a blue checkerboard.
  • Unlock it, release it, and present it.

The display should show an all blue checkerboard, since the red is completely overwritten by blue before presenting the buffer, and indeed it does appear all blue on prior systems. But with i7-4470S + HD 4600 graphics + Windows 8.1, I see a wide band of red flickering at the top. The symptom seems to indicate some bug with flipping the back buffer.

In the program, the keys 0, 1, and 2 control the display interval:

  • 0 = D3DPRESENT_INTERVAL_IMMEDIATE. With this, the problem goes away.
  • 1 = D3DPRESENT_INTERVAL_DEFAULT. With this, the band shows up on the afflicted system.
  • 2 = D3DPRESENT_INTERVAL_TWO. With this, the screen flickers red/blue.

Any other key causes the program to exit.

 

Attached are three files:

* RedFlicker.zip: a Visual Studio Express 2013 solution with the source code. The problem replicates best for me with a "Debug" build.

* RedFlicker.exe.zip: pre-built binary of the program, using Visual Studio Express 2008.

* DixDiag.txt.zip: The DxDiag report for the afflicted machine.

 

 

[2014 Feb 4 Update] Added attachments for binary and DxDiag.

 

 

0 Kudos
4 Replies
Kevin_M_Intel
Employee
580 Views

Hi Arch_D_Robison,

I am sorry to hear you are having problems with the system but let me help you.

Based on this information you are having problems with a game you own but I will need to get some more information to start the investigation.

I will need the following:

  1. Update the graphics drivers, BIOS and other drivers in your system.
  2. Post your dxdiag report and graphics report after updating all drivers.
  3. Is there a download link for us to test the software? If so, can you provide access to it?
  4. What steps are you taking to reproduce the problem?
  5. Can you post a video of step by step also about the issue?
  6. What is the software you are using to develop the game?

I appreciate the information you can provide so we can start the investigation.

0 Kudos
ARCH_R_Intel
Employee
580 Views

I've updated my base note to include the DxDiag report and a pre-built binary of the program. To run the pre-built binary:

1. Download /servlet/JiveServlet/download/2084-48612-222043-75832/RedFlicker.exe.zip RedFlicker.exe.zip

2. Unzip it

3. Run it. On Windows 8.1, you will need to go through the "Run anyway" step since it's an unsigned binary.

4. If your system does not have the bug, you will see a blue checkboard. If your system does have the bug, you will see a red band, or red flashing, or red streaks on top of the checkerboard.

5. Press any letter key to exit the program.

With respect to question 6, the problem shows up regardless of whether I use Visual Studio 2013 or Visual Studio 2008. I'm using DirectX 9. The entire source code for the program is attached to the base note.

0 Kudos
Kevin_M_Intel
Employee
580 Views

Thank you for sharing this information.

0 Kudos
Reply