Home · Register · Join Upload & Sell

Moderated by: Fred Miranda
Username  

  New fredmiranda.com Mobile Site
  New Feature: SMS Notification alert
  New Feature: Buy & Sell Watchlist
  

FM Forums | Post-processing & Printing | Join Upload & Sell

  

How to speed up applications running on Intel 12/13 series & Windows...

  
 
somersettr
Offline
• •
Upload & Sell: Off
p.1 #1 · p.1 #1 · How to speed up applications running on Intel 12/13 series & Windows 10


I recently upgraded the graphics card in my Windows 10 PC to an RTX 4090 and was slightly disappointed by how much it speeded up some of my applications. In particular, DXO PureRaw 3. Prior to the upgrade, 50MB Sony A1 raw files were taking about 40 seconds each to process. With the 4090 (from GTX 1070), this reduced to 18 seconds. Good but no cigar!

Later, I was using MSI Afterbruner to tweak some settings and its Monitor function showed me how each CPU core/thread was being utilised. When I used this while running PureRaw 3 I found that it always seemed to be using what it calls CPUs 17 to 24. A quick bit of digging showed these to be the Efficiency cores on my I9 12900K processor which suggested a switch to Performance cores might give an improvement.

****************

A quick aside at this point about Intel 12 and 13 series processor. These CPUs contain two different types of processor cores; Performance cores capable of running two thread each and single-threaded Efficiency cores. The Efficiency cores run slower but use much less power than the Performance cores.

My 12900K processor has 8 Performance cores with two threads each and 8 Efficiency cores, so 8 x 2 + 8 = 24 threads in total. These are numbered by monitoring applications as either CPU 1 to 24 or 0 to 23 and it appears that the Performance cores come first followed by the Efficincy cores in this numbering scheme. So 1 - 16 (or 0 to 15) are the Performance cores and 17 - 24 (or 16 to 23) are the Efficiency cores.

WIndows 11 is supposed to be good at deciding whether to assign processes to Performance or Efficiency cores as needed but Windows 10 less so.

****************

The MSI Afterburner monitor showed that PureRaw 3 was using 8 threads simultaneously with CPUs 17 - 24. It is possible in Windows to specify which "CPUs" a process uses:

Go to Task Manager, choose Details tab, find your process, right click and choose Set affinity.

I started my PureRaw 3 program and then used Task Manager to set the affinity to the first 16 CPUs. This basically entails unticking processors 16 through 23. This increased the processing speed dramatically reducing the time from the prior 18 seconds per raw file down to 12 seconds. Considering I was at 40 seconds with the previous graphics card, this seemed a worthwhile speedup.

However, the affinity setting only applies to this instance of the program so when you shut the program down and restart it, the affinity setting goes back to all CPUs.

Setting the Affinity each time a program runs

There are a few ways to make sure that the Affinity setting is as you want it every time a program runs. I chose to do it by editing the Toolbar shortcut that I use to launch the program.

Edit the shortcut by right-clicking and selecting Properties. (If it's a Toolbar shortcut, right-click it then right-click the application name again! before selecting Properties).

In the Properties window, Shortcut tab, I changed the Target field from

"C:Program FilesDxODxO PureRAW 3PureRawv3.exe"

to

%ComSpec% /c Start /Affinity ffff PureRawv3.exe

The bit at the beginning runs the command line processor and the Affinity flag specifies which cores to use. Google it for the full details but basically the Affinity value is a hexadecimal value representing one bit for each thread or "CPU". FFFF sets the first 16 bits to 1 which means use any or all of CPUs 1 to 16 (or 0 - 15 as it appears in Task Manager). If you wanted to force a process only to use CPUs 17 - 24 you would use a value of FF0000. Hope that makes sense!

This technique should be useful for any program which is at risk of Windows 10 assigning it to Efficieny cores. I don't know why or how it does that or if Windows 11 ever makes the same mistake. Let me know if you find this useful or if there are suggestions for improvements/simplifications.



Aug 15, 2023 at 08:11 AM
elkhornsun
Offline
• • • • •
Upload & Sell: Off
p.1 #2 · p.1 #2 · How to speed up applications running on Intel 12/13 series & Windows 10


Data I/O has a great deal of influence as does the manner in which applications process files in batch mode. With Photoshop Actions there are a great many temp files created which will fragment a drive and reduce the read rates over time. I had to resort to a dedicated physical scratch drive to get around this problem.

I have also installed RAID1 dual drive setups going off the motherboard so no loss in performance with external storage devices.

Garbage collection is also important, in particular with Windows 10 where the OS relies on the user doing the work.

When I was procesing thousands of files each week I was first using a Windows 7 workstation and when I switched to using a Mac workstation with the same CPU and Ram the Apple machine was twice as fast as the Wintel workstation. Unfortunately the Apple computers cost $8,000 or more so I returned to using Windows workstations.



Aug 15, 2023 at 05:17 PM
EB-1
Offline
• • • • • • •
Upload & Sell: Off
p.1 #3 · p.1 #3 · How to speed up applications running on Intel 12/13 series & Windows 10


somersettr wrote:
Go to Task Manager, choose Details tab, find your process, right click and choose Set affinity.

I started my PureRaw 3 program and then used Task Manager to set the affinity to the first 16 CPUs. This basically entails unticking processors 16 through 23. This increased the processing speed dramatically reducing the time from the prior 18 seconds per raw file down to 12 seconds. Considering I was at 40 seconds with the previous graphics card, this seemed a worthwhile speedup.

However, the affinity setting only applies to this instance of the program so when you shut the program down and restart
...Show more

I don't have the PurelyRaw, but the full DXO PL6. I’m mainly using symmetrical core machines in Win10, such as 7950X with a 4070Ti. I don’t know exactly what is going on because the CPU max is around 50-60% (avg. is lower) and the GPU shows little usage in the Task Manager when converting RAW files from the a7r5, yet the files convert to 344MB TIFFs in about 4 seconds with DeepPrime and other typical settings. Either the DXO is not very efficient or the OS-reported GPU utilization is not meaningful. Obviously the stopwatch is the best practical measure.

Have you tested the 12900K CPU under 11 to see how that compares to using the P cores only? I have a ultralight laptop with 1360P under Win10 and am trying to figure out if disabling cores will help, but so far with no luck (using the msconfig it’s slower using only the 4P cores). The 1360P has the Xe GPU only so I'm not expecting much, yet am curious if 10 can work close to as well as 11.

EBH



Aug 15, 2023 at 10:38 PM
 


Search in Used Dept. 

somersettr
Offline
• •
Upload & Sell: Off
p.1 #4 · p.1 #4 · How to speed up applications running on Intel 12/13 series & Windows 10


EB-1 wrote:
I don't have the PurelyRaw, but the full DXO PL6. I’m mainly using symmetrical core machines in Win10, such as 7950X with a 4070Ti. I don’t know exactly what is going on because the CPU max is around 50-60% (avg. is lower) and the GPU shows little usage in the Task Manager when converting RAW files from the a7r5, yet the files convert to 344MB TIFFs in about 4 seconds with DeepPrime and other typical settings. Either the DXO is not very efficient or the OS-reported GPU utilization is not meaningful. Obviously the stopwatch is the best practical measure.

Have
...Show more

I haven't tried Windows 11 due to practical considerations. I'd need to change the file system on my boot drive from MBR to GPT and then switch the BIOS to secure to allow a Windows 11 install/upgrade.



Aug 16, 2023 at 03:11 AM
CanadaMark
Offline
• • • • •
Upload & Sell: Off
p.1 #5 · p.1 #5 · How to speed up applications running on Intel 12/13 series & Windows 10


You do not need a 4090 to get the most out of Pure Raw which might be contributing to your disappointment if you were expecting massive gains from that upgrade alone. PureRaw uses the GPU but isn't maxing it out. My 3080Ti doesn't go above about 20% average utilization when running a Pure Raw batch (Best to use a proper monitoring program like GPUz rather than Windows Task Manager). 4090 is overkill for everything except extreme video editing, high end graphics design/3D modelling, the most demanding games, etc. Nevertheless, it is the best GPU you can buy and should last you a long time. If I didn't play games or do video editing, I wouldn't need such a powerful GPU.

Odd that PureRaw is only wanting to use 8 of your cores by default, and the ones without hyperthreading - I have a Ryzen 5950X and it will use all 16 cores/32 threads, albeit not at 100% load.

My 45MP Pure Raw files take about 7 seconds each to process into a DNG and it will not use all of the GPU power, or at least not for more than a split second per file. I realize that doesn't really help you but it's another data point.



Aug 17, 2023 at 10:21 AM
somersettr
Offline
• •
Upload & Sell: Off
p.1 #6 · p.1 #6 · How to speed up applications running on Intel 12/13 series & Windows 10


CanadaMark wrote:
You do not need a 4090 to get the most out of Pure Raw which might be contributing to your disappointment if you were expecting massive gains from that upgrade alone. PureRaw uses the GPU but isn't maxing it out. My 3080Ti doesn't go above about 20% average utilization when running a Pure Raw batch (Best to use a proper monitoring program like GPUz rather than Windows Task Manager). 4090 is overkill for everything except extreme video editing, high end graphics design/3D modelling, the most demanding games, etc. Nevertheless, it is the best GPU you can buy and should last
...Show more

Ah ha! Now that I've forced PureRaw 3 to use the Performance cores, I can now see that it is in fact using two threads and all eight P cores. My assumption that the program could only used eight threads came from the observation when it was using the Efficiency cores. In that case it didn't use the Performance cores at all. I suppose Windows 10 assigined the process to the Efficiency cores and 8 threads was the best it could do. Thanks for pointing that out!



Aug 17, 2023 at 10:34 AM







FM Forums | Post-processing & Printing | Join Upload & Sell

    
 

You are not logged in. Login or Register

Username       Or Reset password



This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.