1 Reply Latest reply on May 21, 2012 10:59 AM by kcarney

    vsync in crossfire mode

    asmzx

      MSI Z68A-GD65 (MS-7681)  (2 PCI, 3 PCI-E x1, 2 PCI-E x16, 4 DDR3 DIMM, Audio, Video, Gigabit LAN)

      Intel Core i7-2600K, 3400 MHz (34 x 100)

      3х crossfire. ati hd6990+hd6970.

       

      Catalist 11.12(drivers 12.1-12.4 do not fit, as they contain bug at direct compute,

      But as well as without using direct compute the result/behavior is similar).

      DirectX11

       

      The diagram shows time in ms between frames – time interval from 0 to 33 ms. Scene (screen) is empty, i.e. without synchronization 1700 fps on the average.

       

      1.jpg

      As you can see at the diagram the time between command calls - directx11 Present is jumping and from time to time you can see vast difference, i.e. displaying of one frame takes 33 ms and of the other 0 ms. This happens with the frequency in 10 sec.

      As the partial problem-solution can be setting of Сpu Affinity for 3 cores.

      As the result the diagram will look as follows:

       

      2.jpg

      i.e. without sudden change in fps.

      3.jpg

      During camera movement at the scene, the diagram will look like this.

      Gpu is loaded at approximately 40%, instead of even diagram, we become jumps.

      To achieve smooth depiction of movement by the scene, fps should be exactly 60 and the time between frames should be identical.

      I suppose, the problem in the command ‘Present’.

      It’s strange, having 60fps by scene displaying, the difference between calls of command ‘present‘ can be so big (instead of expected 16ms, we have from 8 to 24 ms). May be we measure the time in wrong way?