Skip to main content
GameDev.net gamedev.net
🔒 Locked

Software Rendering

Started by glaskows Mar 1, 2006 at 8:56 AM 26 replies 3.6k views
Original Post
glaskows
glaskows
I was thinking about dual-core, quad-core and n-cores... CPU processing is scaling up and getting paralelized like crazy (CELL and alikes) at consumer level. So, ¿is the future about a common proccensing unit (like a real Central Processing Unit)?, ¿what about sound, physics, IA? The cost of computers will be again just the cost of motherboard, processor and memory. Even the current consumption will benefit from this aproach, and all again will be a matter of software. I think Michael Abrash's Pixomatic idea is a revolutionary (forward or backward) one... of course, GPU will always be faster 'cause they are meant to be that way (specialized if you prefer), but do we REALLY need them, even graphics advances will slow down in favor of IA, sound, etc... Maybe I am just old school, but what the heck, not because GPU are a standard part of PCs today it means they will be tomorrow.
Eelco
Eelco
whats will happen will always remain speculation, but its certainly true that the need for specialized number crunching units such as GPU's will go down as they lose their monopoly on parralelism, and if this affects the total picture of pros in such as way that it doesnt weight up to the cons anymore, that would mean the end of GPU's. but i wouldnt expect such of the first generation of multicore processors.
necreia
necreia
As long as there is something more that can be processed, another PU will always be a good thing. If/until we can get to a point to where a CPU and it's n-cores can process ANYTHING that would be thrown at it, GPU and the like will still be around.

If there's extra power in the CPU that can be utilized, and the developers know there is a GPU to fall back on, they will use that extra power for something else. (This is only my take on the situation, tech changes so fast there is no sure way to predict anything).
Monder
Monder
I have read that there is on-going research into reconfigurable processors, ones where the actual hardware of a processor is altered depending on the job it's doing (like with an FPGA). So in the future you may see multi-core processors where various parts of the processor can actually be altered in software, so if you want to play a game the logic gates on one or more of the cores will be reconfigured for doing high-performance graphics (you could say a part of the CPU becomes a GPU while you play the game).
CpMan
CpMan
While I agree that we will probably never turn away from separate specialized processors, even if we were to return to "software rendering", I'm guessing you wouldn't see a return to the "create a software renderer" type of mentality. I'm guessing DirectX/OpenGL would gain a highly specialized implementation for the specific chip that's running the hardware, and not much would change. Overall, it would be no different.
VSEDebug Visual Studio.NET Add-In. Enhances debugging in ways never thought possible.
KaptainKomunist
KaptainKomunist
That seems to be what the cell processor could be designed for, ray tracing. Other than that, I realy don't see why the hell else you would need 8 cores.
CHollman82
CHollman82
As technologies improve what we do with those technologies expands to fulfill them. In that way, the GPU will always be legitimized. You are thinking about future hardware in the context of todays software. Instead, think about future hardware with future software. The higher end games and multimedia apps will be just as CPU-starved tomorrow as they are today.
codeXtremeif(you->intelligence < radish->intelligence) you->STFU();
CHollman82
CHollman82
Quote:
Original post by KaptainKomunist
I realy don't see why the hell else you would need 8 cores.


"Nobody will ever need more than 64kb of memory" - Gordon Eubanks, 1976
"Nobody will ever need more than 640kb of memory" - Bill Gates, 1981
codeXtremeif(you->intelligence < radish->intelligence) you->STFU();
Conner McCloud
Conner McCloud
Quote:
Original post by necreia
As long as there is something more that can be processed, another PU will always be a good thing. If/until we can get to a point to where a CPU and it's n-cores can process ANYTHING that would be thrown at it, GPU and the like will still be around.

I agree, completely. Especially when you consider that graphic hardware is still going to be neccessary, unless the CPU is wired directly to the monitor. When you get to the point where a CPU that can replace a GPU is feasable, the GPU will be that much cheaper, so you will need that much more incentive to get rid of it.

CM
Eelco
Eelco
Quote:
Original post by Conner McCloud
Quote:
Original post by necreia
As long as there is something more that can be processed, another PU will always be a good thing. If/until we can get to a point to where a CPU and it's n-cores can process ANYTHING that would be thrown at it, GPU and the like will still be around.

I agree, completely. Especially when you consider that graphic hardware is still going to be neccessary, unless the CPU is wired directly to the monitor. When you get to the point where a CPU that can replace a GPU is feasable, the GPU will be that much cheaper, so you will need that much more incentive to get rid of it.

CM


motherboard integration anyone?

its nothing but an analog output youre talking about: and i dont even think that will be around anymore in the not so near future were talking about.
Eelco
Eelco
Quote:
Original post by CHollman82
As technologies improve what we do with those technologies expands to fulfill them. In that way, the GPU will always be legitimized. You are thinking about future hardware in the context of todays software. Instead, think about future hardware with future software. The higher end games and multimedia apps will be just as CPU-starved tomorrow as they are today.


except that you are missing the key issue: there wil always be a need for more, noone is contesting that here. the point is specialized hardware might not always be the best way to realize 'more'. if a CPU has high parralelism, the only advantage specialized hardware offers is the speedincrease through its fixed pipeline. will that weight up to the greater flexibility and multipurposeness of a parralel CPU? time will tell.
Conner McCloud
Conner McCloud
Quote:
Original post by Eelco
motherboard integration anyone?

Who says the GPU can't be on the motherboard? The simple fact is that dedicated hardware is going to be neccessary to take the CPUs description of the screen and turn it into the monitor's picture of the screen. Wherever that hardware might be, if CPUs can have a thousand different independant cores, then adding a full-out GPU to the mix will be all sorts of cheap. What exactly that GPU will do is up to interpretation, but my money is on it being there in some form.

CM
Dmytry
Dmytry
I think currently GPU is used mostly because of parallelism, as them are already quite programmable and are not that specialized anyway. You don't care about rendering things faster, you care about quality, and for quality you need flexibility.
In fact what we already see is GPUs becoming more and more of fast parallel math unit and less and less of specialized device.

Consider parallel processor with few simple specialized functions done in hardware (like converting triangle into scanlines). Why would it be slower than "specialized" hardware where only this part is really specialized?
Eelco
Eelco
Quote:
Original post by Dmytry
I think currently GPU is used mostly because of parallelism, as them are already quite programmable and are not that specialized anyway. You don't care about rendering things faster, you care about quality, and for quality you need flexibility.
In fact what we already see is GPUs becoming more and more of fast parallel math unit and less and less of specialized device.

Consider parallel processor with few simple specialized functions done in hardware (like converting triangle into scanlines). Why would it be slower than "specialized" hardware where only this part is really specialized?


i do not fuly agree with that.

sure, its not a fixed pipeline, but not really flexible either. its very much designed for a specific purpose. while it might be very well possible to do fluid simulation or whatever on a graphics card, squeezing such algorithms in a straightjacket of vertex and pixelshaders hardly seems efficient, neither for programming nor running them.
outRider
outRider
Quote:
Original post by Monder
I have read that there is on-going research into reconfigurable processors, ones where the actual hardware of a processor is altered depending on the job it's doing (like with an FPGA). So in the future you may see multi-core processors where various parts of the processor can actually be altered in software, so if you want to play a game the logic gates on one or more of the cores will be reconfigured for doing high-performance graphics (you could say a part of the CPU becomes a GPU while you play the game).


Enter the PSP. It actually uses an FPGA to implement an audio mixer, video decoder, and audio decoder. Typically, the movie player uses the video/audio decoder, the music player uses the audio decoder, and games use the mixer; the data path is reorganized at runtime depending on the functionality required. An excellent way to save yourself the cost and space requirements of discrete ICs.

That aside, I think GPUs will be around for a long while yet. Like the wheel of reincarnation says, CPUs have to be far more efficient at transformation and rasterization before they'll replace GPUs, and that isn't happening anytime soon, regardless of how many cores you can throw at the problem.
jsgcdude
jsgcdude
The one flaw in arguing that general purpose cpus will replace gpus is the fact that the system bus is so damn slow compared to internal processor speed. Send you textures and geometry to the gpu once and it's a straight pipe into the display. Will cpu's, no matter how many cores, ever implement this?

Just my .02...
------------------
Luckless
Luckless
Quote:
Original post by jsgcdude
The one flaw in arguing that general purpose cpus will replace gpus is the fact that the system bus is so damn slow compared to internal processor speed. Send you textures and geometry to the gpu once and it's a straight pipe into the display. Will cpu's, no matter how many cores, ever implement this?

Just my .02...


But the question is, why not redesign the motherboards so they're not using such slow bus systems?

Redesign the whole system so it is all ICs
Old Username: Talroth
If your signature on a web forum takes up more space than your average post, then you are doing things wrong.
Iron Chef Carnage
Iron Chef Carnage
Quote:
Original post by KaptainKomunist
That seems to be what the cell processor could be designed for, ray tracing. Other than that, I realy don't see why the hell else you would need 8 cores.


If you were alone in the wilderness, I'll bet you could use it to start a fire.
Steadtler
Steadtler
Quote:
Original post by Talroth
Quote:
Original post by jsgcdude
The one flaw in arguing that general purpose cpus will replace gpus is the fact that the system bus is so damn slow compared to internal processor speed. Send you textures and geometry to the gpu once and it's a straight pipe into the display. Will cpu's, no matter how many cores, ever implement this?

Just my .02...


But the question is, why not redesign the motherboards so they're not using such slow bus systems?

Redesign the whole system so it is all ICs


It would cost a fortune to manufacture. A wafer roughly the size of a motherboard is worth 'bout 100'000$.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.