DirectX, RDX, RSX, and MMX Technology: A Jumpstart Guide to High Performance APIs
Authors: Rohan Coelho, Maher Hawash
Venue:  (1997)

From the Book:PREFACE: Why Read This Book? There's Lots of New Stuff to Learn In the past few years, the pace of technology growth has been exhilarating. Microsoft launched Windows 95. Intel debuted the Pentium, Pentium Pro, and MMX technology processors. Netscape burst the Internet pipe with a new class of applications and architectures. These companies and others paraded out a slew of new multimedia architectures. And you've never before felt so lost in space. Maybe, you're familiar with programming for Windows 95 and now want to deliver Windows 95 multimedia applications, and you're wondering where to start. Or maybe, you've programmed multimedia for DOS/Windows 3.1, and now you're scrambling to learn Windows 95, learn the new computing environment, and then learn to deliver high-performance multimedia in this environment. Well, several new architectures have been introduced to help you deliver high-performance multimedia under Windows 9x, such as DirectDraw*, DirectSound*, Direct3D*, DirectShow*, RealMedia*, Realistic Sound Experience (3D RSX), Realistic Display Mixer (RDX), and so forth. But now you've got to learn these new architectures, and you've got this steep learning curve on your hands. On the hardware frontier, the power of personal computers has increased at a dramatic paceNboth in processor and peripheral power. The Pentium, Pentium Pro, Pentium II, and MMX Technology processors, the Accelerated Graphics Port (AGP) bus, and the various graphics hardware accelerators are recent hardware advancements that affect multimedia performance. Surely your applications would sizzle if you mastered these advancements. But mastering theseadvancementsonly increases the learning curve. And, of course, the Internet adds yet another dimension to the puzzle. The new programming space includes Internet browsers and their plug-ins; programming languages such as Java, HTML, and VRML; Internet architectures such as Activex, RealMedia, and a huge list of applications such as Internet Phones and Chat Worlds. More to learn, more to wade through, more time to spend. Lightening the Learning Burden As multimedia developers, we constantly investigate, evaluate, or learn these new technologies. Our typical sources are technical reference manuals and sample applications. With so many recent products, we've got a huge quantity of material to wade through. When time is precious, as it invariably is, just getting started can be an overwhelming problem. Spending time getting started eats away from time allocated for finishing touches and product testing. And overall quality suffers when we've spent too much time just getting up to speed. Wouldn't it be nice, if there were a simple way to just get started? To grasp the bare essentials and leave the esoteric stuff for on-the-job training (those need-to-know moments)? To steer clear of performance pitfalls? Well, do we have a deal for you. We, the authors, have been involved in various aspects of multimedia development on the PC for five long years. Through our employment at Intel and through our relationships with Microsoft and other key players, we've had the privilege to influence the architectures of processors, peripherals, platforms, and software components toward the betterment of multimedia on the PC. During that time, we've done our fair share of defining, reviewing, and implementing numerous multimedia architectures, both software and hardware. With this book, we hope to use our internal vantage point to give you a jump start to high-performance multimedia development for Windows 9x. We'd like to help you cut to the chase; focus on the bare necessities; stick to the essentials; and jump-start a variety of offerings. What's more, we're hoping to take you a step beyond getting startedNto extracting performance. We hope to provide you with a quick start to a wide spectrum of multimedia advancements for Windows 9x. We hope to answer questions like Where do I start? What do I really need? How little can I get away with? How do I get it to run faster? A dose of caution: there's more than one way to get jump-started and more than one way to extract performance. We'll share our experiences with you, show you "a" way. We hope you'll come away with some tricks, of course, but more important, we hope you'll come away with a thought processNan approach. We've tried to maintain a light flavor. We hope you'll have some fun along the way.