I have Windows 7 And a Intel Core-i5 CPU (4Thread)
some programs like Firefox, only use up to maximum 25% of All CPU(only 1 Thread)
And some programs like Winrar, use up to 100% of All CPU
Can force firefox to use all capacity of CPU(like winrar)?
|
|
Some tasks can benefit from parallelism. But some tasks cannot benefit from parallelism. Firefox is essentially an input-response program. Firefox is a program that will not (significantly) benefit from parallelism. |
||||
|
|
|
You can't, only the developer of the program can. The only option you have is if you want 100% CPU usage is open 4 copies of the program, each copy will take a core up. |
|||||||||||||
|
|
Threads in Windows run until either their quanta (time slice) ends, they block (e.g., doing i/o that hasn't completed) or they're interrupted to run something higher priority that's just become ready. Windows allows bumping the priority of a thread, all the way up to THREAD_PRIORITY_TIME_CRITICAL. But even the highest priority threads are occasionally interrupted to run lower-priority threads by the Windows scheduler, which uses random boosts to avoid a deadlock condition called priority inversion. How or when an application creates new threads and what they do is a design decision embedded into the internal logic of the program, not something you can control except perhaps through the way you use the application, e.g., opening more tabs or whatever. Bottom line is that if you're wondering what it takes to max out CPU usage as much as possible, the answer is takes a CPU-intensive activity with as many threads as you have processors, doesn't block on i/o and runs at higher priority (e.g., just being the foreground app) than other tasks. |
|||||||
|
|
No. Threading is a decision made by the application developer, and can only be used (or at least be beneficial) in certain cases. additionally, the CPU is only one component that may be taking execution time, and as such, if its waiting on disk or high frequency ram updates, then the CPU would still act exactly as you have described, despite the app being multithreaded and on a multicore chip. |
|||
|
|