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

Possible Performance Regression

Sean_C_
Beginner
871 Views

System Used: ASUSTek Z170-WS
CPU SKU: Intel Core i7-6700K CPU @ 4.00Ghz
GPU SKU: Intel HD Graphics 530
Processor Line:
System BIOS Version: American megatrends Inc. 0207
CMOS settings: default
Graphics Driver Version: 20.19.15.4352 (also tried earlier *.4300 and later *.4380 Beta)
GOP/VBIOS Version: 1024.0
Operating System: Windows 7 64-bit Professional
OS Version: 6.1.7601
API: DirectX9 / DXVA
Occurs on non-Intel GPUs?: No

Hello,

We've got a fairly complicated video application which used to run great on Haswell/HD4600, but after upgrading to Skylake/HD530 exhibits frequent frame drops and frame times in excess of 30 ms under high load.  The application ultimately displays upwards of 24 independently sized video windows.  There are at most 8 video sources, however, each fed to the application via shared memory at exactly 60Hz.  To minimize bandwidth, we upload each video to the GPU (using Lock/Unlock()) only once, then use DXVA to convert it.  From there, we blit the transformed data to each window using either DXVA or StretchRect().  The only difference there is the quality/speed tradeoff.  Each video source is handled on a separate thread (including unique D3D and DXVA devices).  As mentioned, this used to work great, with solid 60Hz performance even under high load (>24 windows).  Excepting the upgrade to Skylake (new motherboard, cpu/gpu) the hardware and software is largely the same.  Not to draw comparisons, but for what it's worth, other vendors also work well.

We're not sure if this is a performance regression in the drivers or just what the hardware can do.  Everything we've read, however, suggests that Skylake beats out Haswell in nearly every case.  Any ideas would be appreciated.  Thanks!

0 Kudos
4 Replies
Michael_C_Intel2
Employee
871 Views

Hi Sean,

Thanks system setup information, can you also fill in the rest of the template (below) so we can reproduce the issue? If you have a sample file we can use to reproduce that would help too. 

Thanks,

-Michael

Steps to Reproduce:
-------------------------------
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.

Expected Results:
-------------------------------

Actual Results:
-------------------------------

Additional Information:
-------------------------------

 

 

0 Kudos
Colin_J_
Beginner
871 Views

We've produced a sample which demonstrates the regression in DXVA2 performance on Skylake. When executed, the sample writes the FPS into the window title bar.

On Ivy Bridge i7-3700 @ 3.4GHz, this produces 59.8 to 60.0 FPS. Haswell produces similar results.

On Skylake i7-6700 @ 3.4GHz, the sample produces an astonishing regression: 32-42 FPS. Obviously we expected numbers at least as good as Ivy Bridge.

 

Source, which compiles with Visual Studio 2015 Update 2, is available at: https://www.dropbox.com/s/96m11xejt9xkhan/VideoBLT.zip?dl=0

Static-linked executable is available at: https://www.dropbox.com/s/ul9j01mfynfaf0u/VideoBLT.exe?dl=0

-

Colin Jensen

Staff Engineer, Abekas Inc.

 

0 Kudos
Michael_C_Intel2
Employee
871 Views

Thanks for the additional information. I have a ticket filed and am getting the driver team to investigate. 

0 Kudos
Michael_C_Intel2
Employee
871 Views

Our investigation shows that your app doesn't appear to be aware that the images are being scaled. We can make HD 520 pass by changing the DPI settings in the OS.  We can also make HD 4600 fail by changing the DPI from 100 to 200. Have you added DPI-awareness into your app as descibed here: https://msdn.microsoft.com/en-us/library/ms701681(v=vs.85).aspx

 

 

0 Kudos
Reply