If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Display Modes |
#21
|
|||
|
|||
Two questions
In article , Mayayana
wrote: | second of all, you haven't any clue about multithreading. zero. Multi-threading is not the issue. yes it is. https://en.wikipedia.org/wiki/Multit...%28software%29 A single core CPU has multithreading via time slices. The advantage of multi-core is that a single, intensive operation can have a dedicated core, without locking up the machine and without needing to share time slices. or a single intensive operation can be parallelized across multiple cores. The issue is whether PS can actually use multiple cores in any significant way. it can, and does. For that it needs to be running two or more processor -intensive operations concurrently. Do you often run a sharpening routine on a 40 MB image while at the same time running another filter? If not then the sharpening will run faster with less cores because the core being used will have a higher MHz speed. you still don't get it. one filter can be multithreaded, running in parallel on multiple cores. you don't need to run two filters in parallel, nor do cores speed up or slow down if one or more is idle. No one needs to go by what I'm saying. nobody should, since you have *no* clue. In Windows one can run Task Manager to see usage in real time. There may be something similar on Macs. So rather than carpet-bombing the thread with empty, un-qualified pronouncements and insults, why not do some experimenting for yourself? You can then decide what's best for you. Maybe you'll find that PS is somehow running your sharpening routine on 2 cores, but that's *very* unlikely. wrong. not only is it likely, but photoshop is designed to do exactly that: http://media.bestofmicro.com/F/L/251985/original/res_app_photoshop.png and it's not just photoshop that benefits. many things are faster on multicore, including handbrake video conversion: http://media.bestofmicro.com/F/G/251980/original/res_app_handbrake.png The routine is a single operation that needs to go through the image bytes with a math operation. There just aren't two things to do at once. wrong. if the operation can be parallelized, then it will usually benefit from multiple cores unless it's bottlenecked with i/o, such as a slow hard drive. Much of the time there's very little CPU usage on a typical machine. If I do something like run a CPU-demanding script then I'll see 48-50% usage by that process, because I'm using a 2-core machine. Meanwhile, nothing much else is registering. If I had four cores the script would run at about half the speed, because it can't be run across 2 threads. nonsense. For that the script would have to be running multiple, separate operations. Likewise with PS. A sharpening routine is a single operation. You can't spread it across 2 threads or processes. wrong. If you print and go online and have AV scanning while you're doing the sharpening routine then the 4 cores might be better than 2. But what I'm getting at is that much of the time, for most people, only one CPU-demanding operation at a time is happening. wrong. An analogy.... Not a great one, but the best I can think of right now: Imagine having a set of measuring cups. If you have 3 people adding 6 ingredients to a bowl, in small amounts, they can do it fastest with 6 cups. If they need to each add, say, 1/4 cup sugar and 1 cup flour to bowls on an assembly line, having 6 8-oz measuring cups will be optimal. But if there's one person, adding 4 cups flour and 2 cups water, then 2 32-oz measuring cups will be optimal. (A 32 and a 16 would be best, but I'm trying to keep this analogous to CPU cores.) If that one person has 6 8-0z cups then 4 will just go unused while 2 do the job more slowly. An 8-oz cup has to be refilled 4 times with each operation. that's a horrible and convoluted analogy. a simple and far better analogy is if you have a stack of pages and you need to stamp each one with the date it's received. you can either stamp all pages yourself (single-core) or you can spread the work among a bunch of people, each having to stamp a portion of the pages, all working alongside each other (multi-core). there's a small overhead in splitting the stack into several smaller stacks, distributing those stacks to each person and then reassembling them at the end, which needs to be balanced with how much faster the overall process would take. for a small stack of 10 pages, it is not worth the trouble to split it among 10 people, but splitting it among 2 people might work well. for a large stack of 1000 pages, splitting it among 10 people will definitely help, as the overhead is minimal compared to the actual task. Since CPU speeds seem to have plateaued in the 3-4 GHz range, there's a limit to the possible speed of one core. So the question becomes: Do you have 3 people to use your 6 cups? (Do you actually have frequent, concurrent operations to justify more cores?) If not then you'll fill your bowls fastest with less cores. certain tasks may not benefit from additional cores, but having more cores on a chip does not make things go slower. |
#22
|
|||
|
|||
Two questions
"Mayayana" wrote:
| second of all, you haven't any clue about multithreading. zero. Multi-threading is not the issue. https://en.wikipedia.org/wiki/Multit...%28software%29 A single core CPU has multithreading via time slices. The advantage of multi-core is that a single, intensive operation can have a dedicated core, without locking up the machine and without needing to share time slices. That is very clearly correct. Multi-threading, unlike a multi-core system, shares CPU GHz between all processes. There is no speed up at all. Multi-threading a single core actually slows down any single threaded process running. The issue is whether PS can actually use multiple cores in any significant way. For that it needs to be running two or more processor -intensive operations concurrently. Do you often run a sharpening routine on a 40 MB image while at the same time running another filter? If not then the sharpening will run faster with less cores because the core being used will have a higher MHz speed. That isn't quite right. The sharpening routine can easily be coded to run on multiple cores simultaneously. Sharpening can be divided up over different geographic areas of the image, each core doing just one section, and all cores working at once. That is just one way, and certainly there are others. No one needs to go by what I'm saying. In Windows one can run Task Manager to see usage in real time. There may be something similar on Macs. So rather than carpet-bombing the thread with empty, un-qualified pronouncements and insults, why not do some experimenting for yourself? You can then decide what's best for you. Maybe you'll find that PS is somehow running your sharpening routine on 2 cores, but that's *very* unlikely. I would expect it to use multiple cores. I don't use Windows or a Mac, but I have system monitoring software that graphically shows the load on each core. Typically a sharpen operation on a large image takes long enough to easily see what actually does happen. On a 8 core system about 90 percent of the time is spend with 1 single core showing 100% usage all of the time, and from 2 to 3 other cores being hit repeatedly for short intervals. In the last few seconds, which I assume is when it puts all of the segments back into the image buffer, all 8 cores get hit together for an extended period. Extended is longer than the short hits earlier in the process, but it doesn't actually last very long and the entire process is finished. Another program uses one single core for the entire process. The routine is a single operation that needs to go through the image bytes with a math operation. There just aren't two things to do at once. But there can be. Different parts of the image can be done separately, as just one example. Much of the time there's very little CPU usage on a typical machine. If I do something like run a CPU-demanding script then I'll see 48-50% usage by that process, because I'm using a 2-core machine. Meanwhile, nothing much else is registering. If I had four cores the script would run at about half the speed, because it can't be run across 2 threads. For that the script would have to be running multiple, separate operations. Likewise with PS. A sharpening routine is a single operation. You can't spread it across 2 threads or processes. If you had four cores it would not run at half the speed. Same two cores, same speed. Just that the other two cores would be idle. I use UFRAW as a RAW converter. It can be compiled to take advantage of multi-threading. On a multi-core system that means it runs significantly faster. But for my purposes I compile it without the multi-threading because I virtually always run it via a shell script that launches multiple processes, one per CPU core, and has measured efficiency that is greater than multi-threading a single process. The difference is that if I compiled with multi-threading and ran UFRAW process sequentially it does not process a large batch of files as fast as when compiled for single threading but is invoked with 8 process in parallel. If you print and go online and have AV scanning while you're doing the sharpening routine then the 4 cores might be better than 2. But what I'm getting at is that much of the time, for most people, only one CPU-demanding operation at a time is happening. Image editing is generally a case where the more cores the faster many, but not all, individual edit commands will be executed. -- Floyd L. Davidson http://www.apaflo.com/ Ukpeagvik (Barrow, Alaska) |
#23
|
|||
|
|||
Two questions
In article , Pablo
wrote: the mouse doesn't use cpu. Oh, where does the interrupt handler run? interrupt handler? it ain't the 1980s anymore. cursors have been done in hardware for *years*. |
#24
|
|||
|
|||
Two questions
On 2015-09-16 17:40:23 +0000, Pablo said:
nospam wrote: In article , Pablo wrote: the mouse doesn't use cpu. Oh, where does the interrupt handler run? interrupt handler? it ain't the 1980s anymore. cursors have been done in hardware for *years*. We used to call them sprites. I haven't heard the term "sprites" since the days of the Commodore 64. Processor still has to respond to mouse actions. Interrupts still exist, young'un ;-) -- Regards, Savageduck |
#25
|
|||
|
|||
Two questions
In article , Pablo
wrote: the mouse doesn't use cpu. Oh, where does the interrupt handler run? interrupt handler? it ain't the 1980s anymore. cursors have been done in hardware for *years*. We used to call them sprites. this isn't sprites. Processor still has to respond to mouse actions. Interrupts still exist, young'un ;-) it needs to respond to clicks but not display and moving it. |
#26
|
|||
|
|||
Two questions
In article 2015091610433355577-savageduck1@REMOVESPAMmecom,
Savageduck wrote: the mouse doesn't use cpu. Oh, where does the interrupt handler run? interrupt handler? it ain't the 1980s anymore. cursors have been done in hardware for *years*. We used to call them sprites. I haven't heard the term "sprites" since the days of the Commodore 64. his info is severely dated. |
#27
|
|||
|
|||
Two questions
On 9/15/2015 9:26 PM, Mayayana wrote:
Multiple cores can only be used for multiple threads/processes. If you want to print while using PS then a second core is nice. You may also be able to do two things at once in PS. But even that seems a stretch. If you do something like apply a filter to a very large image, that's a single operation. It can only run on one core. And what else are youy going to do concurrently? I imagine that's what Chris Cox is talking about. PS can use the cores if you're demanding functionality from multiple threads/processes at the same time, but for one intensive operation, multiple cores will be slower because each core is slower than the total. On XP I use 2-core because I don't think XP can optimally use more. Win7+ is probably better, but optimization still means having uses for those cores. Since I'm rarely doing more than two things at once, I'd rather have two operations running at 1800 MHz than have 4 cores running at 900 MHz each, but with only one or two used. If you're running clean, it's unlikely you'll see much benefit from more cores, and Intel vs AMD shouldn't matter. (Though specific CPU models get different ratings.) In other words, if you have PS applying a sharpen to a giant image, maybe it takes 30 seconds, but what else are you going to have PS do at the same time that could increase efficiency? Not much. The only scenario that makes sense to me for more cores would be a system weighted down with AV, malware hunters, excessive services, etc. If you have 4 cores you might be able to use them all with so much crap running, where two cores might be forced to allocate time slices to multiple processes, thus being slightly less efficient. But aside from servers, it's hard for me to see the benefit of a large number of cores. It just means that each core is running slower. You can research this yourself. Run Task Manager and then use PS as usual. You'll probably find that a demanding operation is using 50%, 25%, etc of the CPU, depending on how many cores you have. (2 cores -- max intesity is 50% of CPU. 4 cores -- max intensity is 25% of CPU. Etc.) Is another process or another PS operation maxing out another core? If your cores are not being used then the increase in cores is just slowing down your machine. Thanks, sounds like good information. Since I am doing pre-purchase research, I will not be doing the experiments. I am thinking quad core with about a 3.5 - 3.8 CPU. I know there are faster, but I am not yet convinced that the additional price is worth the extra cost. -- PeterN |
#28
|
|||
|
|||
Two questions
| I would expect it to use multiple cores. I don't use
| Windows or a Mac, but I have system monitoring software | that graphically shows the load on each core. Typically | a sharpen operation on a large image takes long enough | to easily see what actually does happen. On a 8 core | system about 90 percent of the time is spend with 1 | single core showing 100% usage all of the time, and from | 2 to 3 other cores being hit repeatedly for short | intervals. In the last few seconds, which I assume is | when it puts all of the segments back into the image | buffer, all 8 cores get hit together for an extended | period. Extended is longer than the short hits earlier | in the process, but it doesn't actually last very long | and the entire process is finished. | | Another program uses one single core for the entire | process. | That's an interesting description. So there seems to be some optimzing of cores, but in a limited way. I can't imagine it could be much more efficient than that. Maybe it's true that an image could be broken up for sharpening, but that would be awkward, and doesn't seem to be what's happening in what you describe. | If you had four cores it would not run at half the | speed. Same two cores, same speed. Just that | the other | two cores would be idle. What I mean is that if you have a 4 GHz CPU with 4 cores then it's 1 GHz per core. With 2 cores it's 2 GHz per core. So it will actually be slower to do a single-core operation on the 4 core than on the 2 core. |
#29
|
|||
|
|||
Two questions
| the part you don't get is that a filter operation can be parallelized
| and spread across multiple cores. Like I said, try it for yourself. Why argue with me when you can monitor your own system? Floyd posted an interesting description that I expect is probably typical: Limited multi-core utilization, in some cases. |
#30
|
|||
|
|||
Two questions
| it needs to respond to clicks but not display and moving it.
In Windows I can call the system to find the mouse position at any moment. The system is tracking it. If you move the mouse the system also has to repeatedly calculate to repaint the screen. That's what the OS does. If it didn't do that you wouldn't see the cursor move. Maybe you can't see any mouse movement on your Mac? In that case you might be right. Or your Mac might be dead. All of this is pointless sidetrack. If you actually read what I wrote you could possibly see that mouse movement was just an example. |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
After the Deletion of Google Answers U Got Questions Fills the Gap Answering and Asking the Tough Questions | Linux Flash Drives | Digital Photography | 0 | May 7th 07 06:38 PM |
Questions on Canon 300D and etc. questions regarding digital photography | David J Taylor | Digital Photography | 10 | March 24th 05 05:18 PM |
Questions on Canon 300D and etc. questions regarding digital photography | Progressiveabsolution | Digital Photography | 4 | March 24th 05 04:11 PM |
Questions on Canon 300D and etc. questions regarding digitalphotography | Matt Ion | Digital Photography | 3 | March 24th 05 02:57 PM |
First SLR questions | Rick | Digital Photography | 26 | August 8th 04 12:19 AM |