The GPU has its roots in GTX 480 which first used a parallel geometry pipeline and compute architecture (inc fast context switching). In Kepler, or the GTX 680 variants, we have various hardware blocks which perform specific tasks with the GPC being the master high level hardware block with dedicated resource for rasterization, shading, texturing and compute.
Within the GPC we have the latest generation of Streaming Multiprocessors (named SMX) which have their performance enhanced over Fermi based equivalents while running on less power (NOTE:
See how this affects power consumption and why later in the review). SMX are the components which power our games using their CUDA cores to handle pixel/vertex/geometry shading and physics/compute operations. Texture units deal with the filtering, load/store units fetch and save information and the PolyMorph Engine looks after vertex fetch, tessellation, viewport transform, attribute setup and stream output. Also included are Special Function Units (SFUs) for transcendental and graphics interpolation instructions.
Connecting the core to its memory is a new memory interface. NVIDIA have reworked the memory subsystem to maximise the memory clock possible and therefore the bandwidth with rated speed of 6Gbps quoted. Elsewhere we have a new hardware based H.264 encoder (NVENC) which takes the video processing load away from the CUDA cores, enhancing performance and reducing power consumption.
Another area that comes under the "Faster" design ethic is NVIDIAs new GPU Boost technology. The basic idea behind this is that the GTX 680 has real time hardware monitoring that varies the clock speed of the core in small increments depending on load. This is completely automatic and not dependant on software and is similar to the speed step technology we have seen in desktop CPUs for some time, though to a much finer level of available speeds...less than 10MHz increments. The core speed doesn't just scale down when at idle or low load though, when required it also "boosts" up with the default speed rated as 1020MHz (This is an average, often peaking higher while remaining within the defined power range for the card). This has a major (positive) impact on power use, overclocking, temperatures and essentially the day to day workings of our card so we recommend visiting Page 19 of this review for detailed information and examples of how it works.
The significant changes brought to market by NVIDIA with the GTX 680 and its R300 drivers continue with three key technologies. First up is FXAA in all games, we have seen FXAA (smoother edges, smaller performance impact than MSAA) used in select games before now however from today we can enable the technology in the driver and that will be covered later in this review. Next up is surround gaming from one card. With the GTX 680 NVIDIA now allow us to connect three displays to one card/GPU and power resolutions such as 5760x1080 and while doing so we can also enable 3DVision. As an added extra NVIDIA also allow the use of an "accessory" display, a fourth screen which can run at the same time as our three gaming screens for use on software such as chat, mail and browsing applications.
Next up is Adaptive VSync which looks to solve issues commonly associated with traditional V-Sync on/off setups. On past products users generally had to choose between V-Sync "on" which impacted framerates or V-Sync "off" which gave them the full speed of the card but with the introduction of image tearing. Adaptive VSync disables VSync when framerates are below 60fps, reducing stutters and when they return to over 60fps it is enabled again to reduce tearing.
And finally we have TXAA... a new mode of anti-aliasing which we will cover later in the article...