Quote:
Originally posted by roxor
Okay, what falls into the area of graphics calculations, and what doesn't?
|
It depends, but modern-day GPUs handle most of the tasks in rendering a 3D scene. The CPU provides the GPU with the necessary data and the GPU then creates the 3D scene (transformation, lighting, clipping), maps and filters textures, alises graphics if applicable, and displays the image to the output device(s). The CPU calculates vertex and light data for the GPU, which involves a lot of repetitive matrix math and in games handle AI and physics.
Quote:
Originally posted by roxor
Don't you mean RISC style CPU? Or am I reading that wrong?
|
No, I mean RISC-style GPUs or more specifically, GPUs designed more like RISC CPUs. Like CISC CPUs modern-day GPUs use built-in functions for rendering graphics. However, unlike CISC CPUs GPUs cannot be programmed on a low level basis, as in you must use the built-in functions for rendering graphics. If you look at this from a programmer's point of view it's just plain wrong. This puts severe restrictions on developers when creating games and programs using 3D acceleration. Professional graphics rendering programs like Photoshop, 3D Studio Max, and Maya are all software-based for this reason, as GPUs cannot provide the programmability and flexibility required for advanced graphics rendering. Programmable vertex and pixel shaders give programmers more freedom but they're still rather limited in their programmability, even with DX9. CPUs can use system RAM for storing instructions when register space runs out (giving it potentially infinite programmability) but GPUs cannot. What I'm suggesting is that we take GPUs back to square one and build them like graphics-oriented CPUs, allowing access to low-level functions with limitless programmability and flexibility. This would have numerous benefits over current designs: 1) it would eliminate the need for specific APIs, 2) would allow much greater control over graphics, 3) vendor-specific extensions will be a thing of the past, 4) incompatibilities will be greatly reduced, 5) performance will be better, 6) any and all graphics apps will be able to use GPUs to accelerate rendering, and 7) cinematic or real-life graphics will be possible that much sonner. I do believe Microsoft is working towards that with DX9 and DX10 but it's going to take some serious redesigns for GPUs to reach the programmability of CPUs. What I'm suggesting here is a RISC movement for GPUs, much like the RISC movement for CPUs. The only problem is that we do not have real leaders in the GPU field for it to happen. Neither ATI or Nvidia have what it takes to really step things forward and change things. They're too busy creating "next-gen" GPU chips to best each other.
__________________
CPU: Intel Core 2 Quad Q9450 @ 2.66 Ghz (Yorkfield) Mobo: Intel DX48BT2 Memory: 2048 MB PC10600 DDR3 Videocard: PNY Geforce 9800 GX2 PCIe w/ 1024 MB GDDR3 Soundcard: On-board SigmaTel High Definition Audio Hard drive: 300 MB Maxtor & 1 TB Hitachi Optical drive: LG GGW-H20L (2x BD-R DL) OS: Microsoft Windows Vista (32-bit)
Last edited by Demigod; June 5th, 2003 at 19:38.