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

Opening Intel Control Panel increases performance of CPU to GPU transfer on Kaby Lake?

idata
Employee
3,719 Views

On 3 different Kaby Lake CPUs (i7 7700, i5 7500, i7 7500U) I'm seeing performance of CPU to GPU transfer (using Direct3D11 2D texture and Map/Unmap to upload data) is way lower as long as I do not open up the Intel Control Panel. As soon as I open it up and enter for example the "Display" tab the performance increases and I can upload data to the GPU much faster. In my test application that is 64 fps vs. 80 fps @ 3840x2160. As soon as I close the Intel Control Panel the frame rate goes down to 64 fps again.

0 Kudos
18 Replies
idata
Employee
1,370 Views

Hello TSchnitzler:

 

 

In regard to your inquiry I just wanted to let you know that we are still currently working in releasing the drivers for the Intel® HD graphics 630 controller for processors i7-7700, i5-7500, they will be available anytime soon, so for those 2 processors we will need to wait for the drivers to be available in order to install them to try to fix this problem, let me apologize for any inconvenience.

 

 

For the i7-7500U, that processor works with Intel® HD 620 graphics, so please install the following drivers:

 

 

Driver Beta 4552:

 

 

https://downloadcenter.intel.com/download/26464/Intel-Graphics-Beta-Driver-15-45-?product=96551 https://downloadcenter.intel.com/download/26464/Intel-Graphics-Beta-Driver-15-45-?product=96551

 

 

Or driver 4542:

 

 

https://downloadcenter.intel.com/download/26404/Graphics-Intel-Graphics-Driver-15-45-?product=96551 https://downloadcenter.intel.com/download/26404/Graphics-Intel-Graphics-Driver-15-45-?product=96551

 

 

For this processor i7-7500U you can also try the drivers from the manufacturer by visiting their web site.

 

 

Please let me know the results of trying those drivers.

 

 

Any further questions, please let me know.

 

 

Regards

 

 

Alberto

 

0 Kudos
idata
Employee
1,370 Views

Hi Alberto,

thank you very much for your response. Today I tried both suggested drivers (4542 and 4552 beta) on the Intel Core i7-7500U, but I still see the described behavior. I have to open the Intel Control Panel and go to the "Display" tab to get full performance for CPU to GPU transfer.

Best regards

Thomas

0 Kudos
idata
Employee
1,370 Views

Hello TSchnitzler:

 

 

You are welcome.

 

 

Thank you very much for providing those results.

 

 

Since you already tried those drivers and the problem remains, we will start an investigation on this matter in order to try to find a possible solution to fix this problem.

 

 

Before we do that, we just need to verify a few details:

 

 

What is the model of the laptop where you are using the Intel® i7-7500U?

 

 

What are the model of the motherboards that you are using with Intel® i7-7700 and Intel® i5-7500?

 

 

Which is the test application that you are using to verify the performance of the processor?

 

 

Please install the SSU tool (System Support Utility) on the 3 systems:

 

 

You will be able to download it on the following link:

 

 

https://downloadcenter.intel.com/download/25293/Intel-System-Support-Utility https://downloadcenter.intel.com/download/25293/Intel-System-Support-Utility

 

 

Once you do that, the tool will allow you to save the information as a file, so, once you save it, please also attach it to this thread, in order for us to see it.

 

Any questions, please let me know.

 

 

Regards

 

 

Alberto
0 Kudos
idata
Employee
1,370 Views

Hi Alberto,

here are a few more details about the test environment(s).

Intel® i7-7500U

http://www.gigabyte.com/Mini-PcBarebone/GB-BKi7A-7500-rev-10# ov GIGABYTE BRIX GB-BKi7A-7500

Intel® i7-7700K

https://www.asus.com/Motherboards/PRIME-Z270-A/ ASUS PRIME Z270-A

Intel® i5-7500

http://www.gigabyte.com/Motherboard/GA-Z270N-WIFI-rev-10# kf GIGABYTE Z270N-WIFI

Please download the requested SSU results https://1drv.ms/u/s!An8bkXy2FQdUr1TdC30P9w-2WEdA here.

For testing we use our own software which uploads data to the GPU using Direct3D11 Map, Unmap, CopyResource.

Edit: Interestingly when I tried to isolate the code that does the GPU upload I can no longer reproduce the problem. I'll keep investigating to nail it down to certain code.

0 Kudos
idata
Employee
1,370 Views

Hi Alberto,

I'm sorry for confusion regarding GPU upload. I found that in the end it's all about the behavior of the Sleep() method in Windows. On a Kaby Lake system the following code takes about 8 seconds to execute, but when I open the Intel Control Panel and run the same code again it takes only 0.8 seconds. On any other (non Kaby Lake) system it also takes only 0.8 seconds. I know that Sleep() can take up to 16 ms, but I'm wondering the behavior is different by factor 10 on Kaby Lake vs. non Kaby Lake systems. Furthermore one can control that behavior by adjusting the minimum timer resolution using timeBeginPeriod() and timeEndPeriod() calls. But since is a system-wide setting it's usually not recommended to change that setting. But I assume that's what opening up the Intel Control Panel does as well, it changes the minimum timer resolution. Any idea why behavior on Kaby Lake is different compared to its predecessors?

# include

# include

# include

# pragma comment(lib, "winmm.lib")

int main()

{

//timeBeginPeriod(1);

DWORD startMs = timeGetTime();

unsigned __int64 counter = 0;

for (int i = 0; i < 500; i++)

{

Sleep(1);

}

printf("Duration %dms\n", timeGetTime() - startMs);

//timeEndPeriod(1);

return 0;

}

Best regards

Thomas

0 Kudos
idata
Employee
1,370 Views

Hello TSchnitzler:

 

 

Thank you very much for letting us know that information.

 

 

I will start an investigation on this matter, as soon as I get any updates from it, I will post all the details on this thread.

 

 

Any questions, please let me know.

 

 

Regards

 

 

Alberto

 

0 Kudos
idata
Employee
1,370 Views

Hello TSchnitzler:

 

 

I just wanted to let you know that we have a new driver released:

 

 

Driver 4590:

 

 

https://downloadcenter.intel.com/download/26563/Intel-Graphics-Driver-for-Windows- https://downloadcenter.intel.com/download/26563/Intel-Graphics-Driver-for-Windows-

 

 

Please try to install it and let me know the results.

 

 

Any questions, please let me know.

 

 

Regards

 

 

Alberto

 

0 Kudos
idata
Employee
1,370 Views

Hi Alberto,

thanks for the new graphics driver. I tried that, but it doesn't change the behavior of Sleep().

Best regards

Thomas

0 Kudos
idata
Employee
1,370 Views

Hello TSchnitzler:

 

 

Thank you very much for letting us know that information.

 

 

We are sorry to hear the driver did not work.

 

 

We will continue with our investigation in order to try to find a possible resolution to fix the issue.

 

 

As soon as I get any updates, I will post all the details on this thread.

 

 

Any questions, please let me know.

 

 

Regards

 

 

Alberto

 

0 Kudos
idata
Employee
1,370 Views

Hello TSchnitzler:

 

 

I just wanted to let you know that we are still currently trying to duplicate the issue.

 

 

There is a new driver available for Intel® HD Graphics 630, it is Beta 4614, please try that driver and let us know the results:

 

 

https://downloadcenter.intel.com/product/98909/Intel-HD-Graphics-630 https://downloadcenter.intel.com/product/98909/Intel-HD-Graphics-630

Also, just to make sure, which Windows version are you using?

Could you please provide the specific steps you do in order for us to replicate the behavior, and if it possible for you to send us the application you are using or the name of any other application that shows the same issue?

Any questions, please let me know.

 

 

Regards

 

 

Alberto
0 Kudos
idata
Employee
1,370 Views

Hi Alberto,

thanks for letting me know about the new driver. I just tried with driver 4614 installed, but I'm still seeing the same issue with Sleep() as described before.

Best regards

Thomas

0 Kudos
idata
Employee
1,370 Views

Hello TSchnitzler:

 

 

You are welcome.

 

 

Thank you very much for letting us know those results.

 

 

This problem, does it happen just when you use your application or it happens with different applications?

 

 

If that is the case, and the issue happens with different applications, please provide the steps that you are doing in order for us to follow them and try to replicate the issue, and also please provide the name of the applications in order for us to try to download them to test them in our lab.

 

 

Any questions, please let me know.

 

 

Regards

 

 

Alberto

 

0 Kudos
idata
Employee
1,370 Views

Dear Alberto,

it can be reproduced with the following code. Please see my comment from Feb 9, which describes it in detail.

# include

# include

# include

# pragma comment(lib, "winmm.lib")

int main()

{

//timeBeginPeriod(1);

DWORD startMs = timeGetTime();

unsigned __int64 counter = 0;

for (int i = 0; i < 500; i++)

{

Sleep(1);

}

printf("Duration %dms\n", timeGetTime() - startMs);

//timeEndPeriod(1);

return 0;

}

Best regards

Thomas

0 Kudos
idata
Employee
1,370 Views

Hello TSchnitzler:

 

 

Thank you very much for providing those details.

 

 

We will review this case in order to try to provide the information requested.

 

 

Any questions, please let me know.

 

 

Regards

 

 

Alberto

 

0 Kudos
idata
Employee
1,370 Views

Hello TSchnitzler, first of all let me apologize for all the lateness in providing a resolution for this case.

 

 

I just received some updates on the research that we are still currently doing on this matter, and there is a new driver released for the Intel® HD Graphics 630 and 620 controllers that your processors have, please try to install that driver and let us know the results, it is 4627:

 

 

https://downloadcenter.intel.com/download/26669/Graphics-Intel-Graphics-Driver-for-Windows-15-45-?product=98909 https://downloadcenter.intel.com/download/26669/Graphics-Intel-Graphics-Driver-for-Windows-15-45-?product=98909

 

 

Any questions, please let me know.

 

 

Regards,

 

Alberto

 

0 Kudos
idata
Employee
1,370 Views

Hi Alberto,

thank you very much for keeping us posted about new GPU driver versions, but are you sure this is actually related to the GPU driver? The "Sleep" issue, that we can work around by timeBeginPeriod, looks more like a CPU related thing to me.

Best regards

Thomas

0 Kudos
Bryce__Intel
Employee
1,370 Views

Hey TSchnitzler,

Could you check BIOS? Do you see a CMOS setting HPET or High precision event timer?

0 Kudos
idata
Employee
1,370 Views

Schnitzler: You are welcome. I just wanted to check if you saw the information posted previously and if you got the chance to check if the BIOS has a CMOS setting HPET or High precision event timer?

 

 

Any questions, please let me know.

 

 

Regards

 

Alberto R

 

0 Kudos
Reply