Allocating More System Resources

Status
Not open for further replies.
Level 16
Joined
Mar 27, 2011
Messages
1,349
As the title says, I was wondering if it is possible to allocate more system resources to a certain program or application so that it runs faster. I was encoding a movie with windows movie maker, and as you all know it takes a long time.

I have already found the process within the task manager and set its priority to high. However, the application has a "16" under the CPU collum. Im guessing this means its utilizing 16% of the CPU.

I was just wondering if there is another way to make this application run faster by allocating lets say 70% of the CPU to that application (aware that I will be unable to smoothly run other programs). Is this at all possible within the GUI side of windows (I don't know how to code or use the registry or anything like that).

I have an intel 2nd gen i7, windows 7 and 4GB ram.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,241
I was just wondering if there is another way to make this application run faster by allocating lets say 70% of the CPU to that application (aware that I will be unable to smoothly run other programs). Is this at all possible within the GUI side of windows (I don't know how to code or use the registry or anything like that).
This is not possible as it requires modification of the underlying process architecture (specificly adding more working threads).

The reason it is capped at 16% is beacause it is probably only using 1 core at full load due to a single working thread. I am guessing you are using a tri core I7 (so has hyper threading) meaning that the OS has 3 physical cores and 3 hyper thread cores (much slower that physical) to use. The process is using a single physical core to near 100%.

Under the options in the process itself you may be able to specify the number of worker threads to use. If you set this to the number of cores (and hyper thread cores) in your system it should allow it to utalize more resources and thus encode faster. This however depends if the process has such an option in the first place.
 
Level 16
Joined
Mar 27, 2011
Messages
1,349
Its actuallly a quad core CPU with hyperthreading, meaning 8 theoretical cores. I actually didnt see it your way:
100% divided by 6 = 16.6%, however it is in fact a quad core CPU.

Under the options in the process itself you may be able to specify the number of worker threads to use.

You wouldn't happen to be talking about "Set Affinity", where you select how many cores you can allocate to the program. If so, all the cores have already been selected. I am aware that some applications are only written in a certain way to utilize so many cores. Is there a way to identify how many cores a certain application can use at once?
 
Level 8
Joined
Aug 13, 2009
Messages
466
Well, you could potentially turn off hyper threading somewhere (probably the BIOS, no this is not really hard to do with research), would hopefully lead to a doubling of available power. HT isn't really that useful anyway.

Otherwise you'll have to google the specific program for any possible tips. Switching programs could also work out...

If you feel like spending some time geeking out, you can always get Core Temp (shows % usage of each core in real time) and CPU-Z (will tell you exactly what processor you've got and if it's got HyperThreading (and if it's enabled).

Of course you've probably finished the encoding job already so this is pointless, but what the hell, hardware is fun!
 
Level 27
Joined
Sep 24, 2006
Messages
4,979
Well you could always use this program called "prio'' and change the cpu priority of the programs in task manager (prio only saves them so you dont have to do that all the time) but if you really want things to go fast you should just buy an SSD or faster processor. Also try running the program as administrator and in safe mode.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,241
You wouldn't happen to be talking about "Set Affinity", where you select how many cores you can allocate to the program. If so, all the cores have already been selected.
No, I am refering to the application options that are provided inside the application itself. Affinity can only be used to restrict processes from using certain cores, not dictate the number of worker threads the application can produce to fill them.

Video rendering applications generally allow you to set the number of worker threads they create in their options or configuration.

Well, you could potentially turn off hyper threading somewhere (probably the BIOS, no this is not really hard to do with research), would hopefully lead to a doubling of available power. HT isn't really that useful anyway.
This will make the system slower. Hyper threading allows threads to take advantage of processors that are heavilly I/O starved in that it allows a parallel thread to run while the main thread is wating for I/O through the bus (such as from RAM memory). Especially with video encoding this can give a noticable 30% speed boost if the encoder generates enough worker threads to take advantage of it.

Windows 7 and later can tell the difference between Hyper thread cores and discrete cores. It will load them differently making sure to first load discrete cores and then hyper thread cores. Thus turning off Hyper Theading will hinder the OS from being able to take advantage of it and thus degrade application performance.
 
Level 8
Joined
Aug 13, 2009
Messages
466
It's true that HT improves video encoding (though it has nearly no effect in games, based on the benchmarks I remember (probably sandy bridge 2500k vs 2700k)). However, if the program can't use more than one processor (whether virtual or not) it might be worth a try... Assuming the virtual core takes up space somehow. I'm not intimately familiar with HT. Well, I'm too lazy to find benchmarks of the OP's processor, too. Meh.
 
Status
Not open for further replies.
Top