Need to recode a dll file

Here you can find everything you need to know about Dll-Files. You can also share your knowledge regarding the topic.

Moderators: DllAdmin, DLLADMIN ONLY

Post Reply
Posts: 1
Joined: 06 Dec 2023, 14:25

Need to recode a dll file

Post by Nb878h »

Hi everyone. I want to edit an xml resource file inside a DLL file. The DLL file is related to the Gigabyte Control Center software; and is responsible for controlling the 5 CPU OC profiles (named Eco, Normal, Sports, Sports+ and Boost). My Gigabyte gaming laptop (Aorus 15G YC) is a 15" chassis with a Core i7 10870H cpu (45W TDP) & rtx 3080 gpu (95W TDP) coupled with a 1080p screen, which performs quite well during gaming. The only negative is the poor battery life, despite putting the CPU in ECO profile; and changing the graphics to integrated. I tried looking for the power draw while idling & came down to following issues.

1. When the primary display adapter is switched to integrated GPU, the power draw by the dedicated GPU stays at about 27 watts during idle (as measured by Hardware Monitor), as compared to when the dedicated GPU is selected as the primary display adapter, in which case the idle power draw is only 17 watts. This is a bit strange. I am unable to figure out why it is behaving like this. So for the time being, I am keeping the Nvidia GPU as primary display adapter instead of the integrated display.

2. Investigating a bit more into the CPU OC profiles mentioned above, i come to know that the control center is basically adjusting the PL1 limit with each profile. I installed Intel XTU to see what PL1 values each OC profile sets the CPU to. PL1 value at Eco is 38 watt, Normal is 45 watts, Sports 52 watts, Sports+ 58 watts and Boost tops at 62 watts. However in actual work load, the CPU never tops even 45 watts before the thermal throttling starts. The temperature dissipation of this 15" chassis is not good. So, having profiles with PL1 limit beyond 45watts are gimmick that are held back by the poor heat dissipation of the cooling system.

I want to reporgram these OC profile buttons to set the CPU to lower PL1 limits which are more practicable per the heat dissipation performance of the cooling system. Of course, I can set the PL1 limits from the Intel XTU software as well, but that did not stay put. Connecting or disconnecting the power supply to the laptop changes the PL1 limit as per programmed in the control center.

I tried to search for any files in the installation folder of the Control Center that may be responsible for the OC profiles, and found a DLL file named as CPUOC.dll. The name gave me an idea that this might be the file governing the OC profiles in the Control Center. I used "JustDecompile" software from Telerik, to decode the DLL file. Searching inside the DLL file, i came down to an XML file which contains the information regarding all 5 OC profiles with the exact same PL1 limits that i noticed using Intel XTU software and PL2 limits as well.

At this level, i don't know if this XML file embeddeded inside the DLL file is actually the source of PL1 limits that the control center is acting upon. Or there are other data handles as well. And if its the file responsible, how can i recode it to reflect some other PL1 values that actually do work? e.g. i want to set PL1 values for ECO to 15W, Normal to 20W, Sports to 25W, Sports+ to 35W and Boost to 45W. Setting lower values of PL1 (10 ~ 15 watts), I have observed noticeable improvement in the battery timing while using the laptop for day-to-day jobs without sacrificing much on the performance front.

Let me know if it is possible to re-code this DLL file as per above.

Post Reply