(10-11-2012, 06:41 AM)NaturalViolence Wrote: [ -> ]I'm surprised that nobody has mentioned yet that many applications that use more than 2 cores like video encoders are designed to spawn X number of threads based on X number of logical cores. Therefore they can automatically scale to higher core counts in the future without any changes to the code. Because of this the transition from dual core to quad core cpus on desktops was painless for many applications. This alone disproves the idea that developers won't develop quad core applications unless quad core cpus exist.
Very true (though not all quad core apps are like that).
EDIT: on a side note, have any of you guys played Poleriders? It's the most hilarious online flash game ever.
http://www.foddy.net/PoleRiders.html
The physics are so bad it's hilarious. It's a two player game only though.
Some of the innuendos that we discovered with the game are a little bit obnoxious (and hilarious), but it doesn't detract from the craziness of the game.
(10-10-2012, 11:00 AM)NaturalViolence Wrote: [ -> ]Quote:It isn't hard to max out the CPU on a phone, so extra cores could help fix this.
How?
The applications can't use the extra cores unless they are programmed to use them.
(10-11-2012, 06:41 AM)NaturalViolence Wrote: [ -> ]I'm surprised that nobody has mentioned yet that many applications that use more than 2 cores like video encoders are designed to spawn X number of threads based on X number of logical cores. Therefore they can automatically scale to higher core counts in the future without any changes to the code. Because of this the transition from dual core to quad core cpus on desktops was painless for many applications. This alone disproves the idea that developers won't develop quad core applications unless quad core cpus exist.
It also disproves 'applications can't use the extra cores unless they are programmed to use them'. In future, please don't post things that you could easily disprove, because I (and probably others) assume you're right first time, and allow you to override what we previously thought if it disproves what you say.
In no way did what he said just disprove his original point. There are many, many processes that just can't be multithreaded. Phones have almost exclusively applications that can't be multithreaded to a significant enough effect that 4 cores would be faster than 2 cores. Some obscure apps may be able to use 4 cores, sure, but very few algorithms can be adapted to that.
He said all applications had to be specifically written to use four cores, then said that many written for 2 which threaded well would automatically work on four cores with four threads. At the least it shows his claim isn't as universally valid as he first stated.
(10-11-2012, 09:35 AM)AnyOldName3 Wrote: [ -> ]He said all applications had to be specifically written to use four cores, then said that many written for 2 which threaded well would automatically work on four cores with four threads. At the least it shows his claim isn't as universally valid as he first stated.
No. He said that applications had to be specifically written to use more threads. Apps don't have to be specifically written to use exactly 4 cores, or 2, etc. As he mentioned,
some apps written to run on dual core processors can also use 4 cores
because they were written that way and it is possible for the algorithm to spread across multiple threads. Most algorithms used in standard phone apps can't use more than one thread because it isn't required or even useful.
Do you program? It certainly doesn't seem like you understand the concept of a thread when it comes to designing an application with the use of whatever algorithm needed.
(10-10-2012, 05:08 AM)NaturalViolence Wrote: [ -> ]But everything you just listed can be done just as well with a dual core cpu......
A quad core cpu will only help with multitasking if you're running several DEMANDING tasks at once such as video encoding, virus scanning, etc. It's not going to help you browse the web or run multiple simple apps any faster even if the OS/browser implements proper multitasking.
What, why don't they implement it then? I was absolutely sure it was a lack in CPU power, and we can't exactly make 4Ghz clocked phone, it'd just fry...
Also, isn't Tegra 3 a GPU-CPU chip with four cores? and doesnt its SDK already implement quad core usage for game and stuff?
*Sigh*
You don't just magically implement quad core support. It is very, very complicated. Most of the time it can't be used on phones because the tasks simply can't use more cores.
Quad Core GPUs, on the other hand, may be more useful (though I don't work with graphics so I couldn't tell you reliably). Quad core CPUs are useless though since they can't be fully utilized and won't be any faster than their dual core counterparts.
...just go learn a computer language and try to split up an algorithm into multiple threads. Have fun watching your original algorithm fall into pieces.
You know, it is possible to multithread a linear alogrithm, it's just that most of your threads will be doing nothing while they wait for the results from another one. It's possible, but pointless as well.