Rating:  Summary: You be the judge Review: Are you looking for a book that is so incomplete it makes you sick that you wasted your hard earned dollar on it? One where you can barely keep your attention span long enough to finish the chapter? If so, then this book is definitely NOT for you. After all, coming from the second in command on Quake, and with over 20 years experience in programming and graphics under his belt, Abrash KNOWS what he's talking about, and Abrash KNOWS what he's talking about, and Abrash KNOWS what he's talking about!! Need me to repeat that? It's as simple as that. There could not possibly be a more complete book than this one on FAST graphics programming. Surprisingly enough, it is INTERESTING. One of the most ENTERTAINING books i have read in quite some time. And with over 1200 pages jam packed with every tidbit of information you ever wanted to know on how to code the best, most efficient, coolest, fastest, jaw-droppingest, mind-bogglingest graphics you can imagine yourself writing, then this is the ONLY book for you. Now.. if you don't wanna know all that cool stuff, well then you are looking at the wrong book. So you be the judge. Wanna know how to program graphics? Or not...
Rating:  Summary: I personally learned a lot from Michael's early articles. Review: If you have any interest in programming, you should look at Michael Abrash's Graphics Programming Black Book Special Edition. It has just about everything he has written, from the ancient work on optimizing for the 8086 (still interesting to read) to the articles written during quake's development. I personally learned a lot from Michael's early articles, and I was proud to contribute to the later ones. John Carmack, id Software
Rating:  Summary: Hard-Core advice from the guy who optimized Quake! Review: A number of years ago, I was developing an object oriented Ray Tracer for my thesis. I read every book on the subject, but practically none gave any form of advice as to how to render the results of my tracings on an SVGA powered 386. If only I had this book at hand back then! While today's PCs have grown well beyond VGA, and are largely well catered for via the likes of DirectX etc., this book still presents the base set of knowledge (from 8086 -> Pentium, from VGA -> Acellerated cards) that any programmer involved in the development of graphics oriented software should have. Combined with Michael's treatment of fast 3d scenery management, texture mapping and lighting models, this book really does become a bible. But this is not all... It's not been all that many years since every time Borland released a new compiler that MS would follow (or vice-versa). Dr. Dobbs would then review the two packages and present accurate results as to which compiler generated the fastest or smallest code. How times change! The relevance to this book is that the first 20 chapters should be read by EVERY hard-core developer: Why are compilers never going to generate code as optimally as a good developer can write assembler? Want to know why your code is not executing at least one instruction every clock cycle? Ever wondered how to time your code effectively? So just how would you optimize a particularly efficient string searching algorithm into a neat 7 instruction operation? It's all here - one of the most readable exposes onto the nasty features of the 80x8x processor families (why oh why didn't IBM wait for the 680x0?) and how to overcome these problems.
Rating:  Summary: Great Book! Review: a) This book is NOT out of date! Computers will be never fast enough; it means low-level programming can't be out of date (we dont have that luxury of wasting cycles and to reach the same results). b) if you are not an ASM experienced programmer you can hardly follow first 40 to 50 chapters of this book. I believe this book is amazing for people who already experienced a lot of Assembler stuff! c) This is the best computer-book I've ever read, because when you want to do high-end games, you have to be performance fanatic; and this book is mostly about PERFORMANCE... buy it!
Rating:  Summary: Outstanding Review: An outstanding book on graphics programming. But Michael takes it a step farther by teaching you how, and when to optimize code. This is, by far, one of the best books I've read on graphics programming. Although I would still consider myself a novice, and some of the content was over my head, he made it very easy to understand what he was talking about. Combine this book with a few language reference manuals and you'll be able to understand it easily. However, I would not recommend it to a complete programming newbie. At least learn some C and ASM before you attempt to take in this massive book. Oh, and before you order, better start lifting weights.. This is one hell of a heavy book... *grin*
Rating:  Summary: Required Reading Review: I don't do any graphics programming and much of the advice in this book is obsolete. Still, writing high-performance assembler and C code is essential to my job, and I can't begin to imagine how to become an expert on performance programming without reading the first portion of this book. Abrash teaches you how to think like a performance programmer in a way that no one else does. Even the best (and much more current) books on performance programming like Rick Booth's excellent "Inner Loops" can't approach Abrash' skill at imparting the mindset of how one approaches code optimization. No wonder Abrash' earlier books (which are bundled into this one) have names beginning "The Zen of..." Michael Abrash preaches a discipline of constant awareness of the bus, the cache, and the pipeline in a clear and useful fashion. And of course, Test, test, test! Even if you are not a graphics programmer, you will have much to learn about writing tight code and good algorithms from the graphics examples. Even though the book contains over 1000 pages, the real jewel may be the CD-ROM, which contains the complete text of the long out-of-print classic "Zen of Assembler". It is hard to express how influential a book on 8088(!) programming can be. That book begins by deconstructing a published article on speeding up a program by repeatedly applying optimizations that reduce the cycle count, eventually the cycle count was halved. Despite this, the "optimized" program ran slower than the original, and Abrash clearly explains why. The chapter on Terje Matheson's wc program tought me more about assembler than any program I have ever looked at. (You can test your skill by rewriting wc to run well on the Pentium II and above. The Pentium code in the book runs into a devastating partial register stall on the newer processors. Then compare your solution to Matheson's latest, which can be found on the internet). The bottom line is that if you are looking for a cookbook, stay away from this. The shelf-life of performance code samples is too short. On the other hand, if you are interested in really becoming a master of performance programming and are willing to work hard, this book will improve your skills more than you believed possible.
Rating:  Summary: Required Reading Review: I don't do any graphics programming and much of the advice in this book is obsolete. Still, writing high-performance assembler and C code is essential to my job, and I can't begin to imagine how to become an expert on performance programming without reading the first portion of this book. Abrash teaches you how to think like a performance programmer in a way that no one else does. Even the best (and much more current) books on performance programming like Rick Booth's excellent "Inner Loops" can't approach Abrash' skill at imparting the mindset of how one approaches code optimization. No wonder Abrash' earlier books (which are bundled into this one) have names beginning "The Zen of..." Michael Abrash preaches a discipline of constant awareness of the bus, the cache, and the pipeline in a clear and useful fashion. And of course, Test, test, test! Even if you are not a graphics programmer, you will have much to learn about writing tight code and good algorithms from the graphics examples. Even though the book contains over 1000 pages, the real jewel may be the CD-ROM, which contains the complete text of the long out-of-print classic "Zen of Assembler". It is hard to express how influential a book on 8088(!) programming can be. That book begins by deconstructing a published article on speeding up a program by repeatedly applying optimizations that reduce the cycle count, eventually the cycle count was halved. Despite this, the "optimized" program ran slower than the original, and Abrash clearly explains why. The chapter on Terje Matheson's wc program tought me more about assembler than any program I have ever looked at. (You can test your skill by rewriting wc to run well on the Pentium II and above. The Pentium code in the book runs into a devastating partial register stall on the newer processors. Then compare your solution to Matheson's latest, which can be found on the internet). The bottom line is that if you are looking for a cookbook, stay away from this. The shelf-life of performance code samples is too short. On the other hand, if you are interested in really becoming a master of performance programming and are willing to work hard, this book will improve your skills more than you believed possible.
Rating:  Summary: Good Piece Of Written History ... Review: I learned a lot from Michaels Articles, but this book is just a recycled version of thos articles. ModeX is outdated for a long time. (On most modern OSs you can't even switch to it.) Innerloop-Optimization is fun, but in a multitasking/user-environment the gains aren't that big anymore. There was nothing new to learn in this book. Except ... how to make money from the same stuff again and again. Which seems to be the way of "modern" game-developers. It looks great in the bookshelf and I like the "you really understand this"-face when guests browse through it. But I wouldn't buy it again.
Rating:  Summary: This is my Bible. Review: I really want to find that book, I am only wondering how much will it cost. It is a precious bible for me. I have only the PDF version of it now, enough to study, but I must have teh brick! :) My curiosity was caught by the chapters about pure asm optimizing at old (anymore) PC architectures, from the 8088 to the 286/386, 486 and the Pentium. I was really searching for something like that around, it was my child dream optimizing asm code and counting every cycle, but it seems that it's complex on the PC and I could hardly find some docs about it. It's really what I need because Michael Abrash seems to be a performance freak and knows what I ask for :) And then, you get a lot of chapters in advance, about interesting VGA/Mode-X tricks that I never managed to try (regurarly used by older DOS democoders), plus some chapters about the 3d techniques and optimizations behind Quake, plus a lot of additional stuff. It's everything I need, getting deep inside the philosophy of optimizing, X86 architectures from 8088 to the Pentium, explaining a lot of hardware VGA tricks, 3D algorithms and optimizations. Perhaps this book is not as usefull for some programmers, since most people have moved already in C++ and DirectX/OpenGL, but definitelly it's a must if you think optimizing of older PCs in assembly as a sport. It was a child dream of mine, perhaps PCs got so old before I started coding, but I think I will still manage to read some more chapters and try something on my old boxes. I also like Michael's humoristic stories and way of writting a lot!
Rating:  Summary: accessible book -- out of print but not rare Review: I was a little worried I would need to be a guru to make any sense of this book. Not true. It's pretty accessible and has engaged me right from the beginning. The book is out of print, but it is by no means rare. Keep an eye on online auctions and on this site. I bought mine here at amazon in "like new" condition, with the CD-ROM, for much less than the original price of the book. Be patient and keep checking. They're out there.
|