Quantcast
Channel: Intel Communities: Message List - Graphics
Viewing all articles
Browse latest Browse all 28450

Image tearing demo with HD 4600 + Windows 8.1

$
0
0

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.


The attached zip file contains a VS2013 Express solution with the source code.  The problem replicates best for me with a "Debug" build.

 


Viewing all articles
Browse latest Browse all 28450

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>