The Talisman reference spec calls for using 4 Mbytes of shared RDRAM, and two, 600 MHz, 8-bit Rambus channels. This configuration thus yields a potential throughput of 1.2 Gbyte/Sec. The shared Rambus memory holds the data during image processing. This data is logically carved up by Talisman into 32 x 32 bit "chunks." This 32 x 32 format also conveniently keeps the Rambus DRAMs in their efficient burst mode, and thus page-miss latencies don't suck up memory bandwidth.
The 32 x 32 chunking approach proposed by Microsoft is radically different from a conventional 3D pipeline, where the entire image and all its associated data must be on immediate beck and call for rendering. Such voluminous image data obviously place huge space and access demands on the memory system. Instead, says Microsoft, let's use the DirectX object-oriented mechanism. We can then carve the objects in the image up into these 32 x 32 pixel chunks, and next place each chunked object into the appropriate image layers. We would then have multiple image layers, with each layer possessing multiple image object chunks. Each image layer is thereby manipulated individually, with each object chunk described and manipulated via the DirectDraw and Direct3D APIs.
(Alternatively, image calculations can be done based on object hierarchy and bounding boxes.) As a consequence of this design, Talisman does not use frame buffers in the usual sense; "Instead, multiple image layers are composited together at video rates to create the video output signal."
Talisman is also a time-based image processing system. For example, if nothing has occurred within a particular image object chunk during the time several screen frames have passed, then it is not updated. If this temporal-processing scheme sounds somewhat similar to MPEG-2 compression techniques, such as that used by DSS (Digital Satellite Subscription) TV, then you are right. Microsoft claims that by using time-based techniques, the image layer transforms can be done considerably faster than if you had to continually recalculate the geometry--typically 10 to 20 times faster, it says. In addition, after each 32 x 32 chunk is sequentially rendered, Talisman uses an image compression algorithm quite similar to that used by JPEG. But, typically, Microsoft instead gives this JPEG-type system its own corporate moniker, "TREC." Finally, texture maps, which constitute the highest memory overhead, are also compressed this way, and stored in the Rambus graphics memory.
When you chart the overall Talisman image processing flow on the reference hardware, it looks like this:
1) Image pre-processing is done in the DSP, which is operating under a Microsoft-developed real-time kernel (not IA-SPOX!).
2) The DSP transforms the 3D objects into a 2D integer plane.
3) The processed data is carved up into 32 x 32 chunks, and then assigned to a particular image plane, as opposed to an enormous sorted list of visible polygons.
4) The now 2D processed, JPEG/TREC compressed, chunked data go into the Rambus DRAM.
5) The Polygon Object Processor (POP) VLSI chip then pulls out and decompresses the chunked data from the Rambus DRAM chips, and does the usual rendering stuff, like lighting, painting texture maps onto polygons, etc.
6) As no frame buffer is used, the once-again processed object data is put back by the POP chip into the Rambus memory.
7) Meanwhile the other VLSI chip, the Image Layer Compositor (ILC), is continually scanning the POP-processed data, building up the scene, 32 scan lines at a time. (Both the POP and ILC VLSI chips were designed by Silicon Engineering, and Cirrus Logic.)
8) At the same time, the ILC is checking to see if an object has moved since it built up the last screen frame.
9) If the object has moved, then the ILC applies affine transforms--it manipulates the polygons--so as to create the illusion of true 3D motion.
The sum result of Talisman's image processing software/hardware architecture, says Microsoft, is that the memory, and image processing demands would be greatly reduced; while at the same time, users could enjoy 1,344 x 1,024-pixel resolution at 75-Hz rates, with 24-bit true-color pixel data at all resolutions. The SIGGRAPH '96 paper states that a scene complexity of 20,000 to 30,000 rendered polygons, or higher, can be supported via Talisman; comparable, says Microsoft, to a 3D graphics workstation capable of executing 1.5 to 2 million polygons per second. And the Talisman cost? Microsoft quotes a bill of materials cost of $200 to $300, which roughly translates into a sub-$500 add-in PCI card at retail street prices.