Buy new:
$83.82$83.82
FREE delivery January 2 - 17
Ships from: GrandEagleRetail Sold by: GrandEagleRetail
Save with Used - Good
$70.72$70.72
$3.98 delivery December 26 - 27
Ships from: glenthebookseller Sold by: glenthebookseller
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Multithreading for Visual Effects 1st Edition
Purchase options and add-ons
Tackle the Challenges of Parallel Programming in the Visual Effects Industry
In Multithreading for Visual Effects, developers from DreamWorks Animation, Pixar, Side Effects, Intel, and AMD share their successes and failures in the messy real-world application area of production software. They provide practical advice on multithreading techniques and visual effects used in popular visual effects libraries (such as Bullet, OpenVDB, and OpenSubdiv), one of the industry’s leading visual effects packages (Houdini), and proprietary animation systems. This information is valuable not just to those in the visual effects arena, but also to developers of high performance software looking to increase performance of their code.
Diverse Solutions to Solve Performance Problems
After an introductory chapter, each subsequent chapter presents a case study that illustrates how the authors used multithreading techniques to achieve better performance. The authors discuss the problems that occurred and explain how they solved them. The case studies encompass solutions for shaving milliseconds, solutions for optimizing longer running tasks, multithreading techniques for modern CPU architectures, and massive parallelism using GPUs. Some of the case studies include open source projects so you can try out these techniques for yourself and see how well they work.
- ISBN-101482243563
- ISBN-13978-1482243567
- Edition1st
- PublisherA K Peters/CRC Press
- Publication dateJuly 29, 2014
- LanguageEnglish
- Dimensions0.6 x 7.01 x 10 inches
- Print length255 pages
Popular titles by this author
Editorial Reviews
Review
"Multithreading applications is hard, but for today’s performance-critical codes, an absolute necessity. This book shows how the latest parallel programming technology can simplify the daunting challenge of producing fast and reliable software for multicore processors. Although the instructive case studies are drawn from visual effects applications, the authors cover the gamut of issues that developers face when parallelizing legacy applications from any domain."
―Charles Leiserson, MIT Computer Science and Artificial Intelligence Laboratory
"Multithreading graphics algorithms is a new and exciting area of research. It is crucial to computer graphics. This book will prove invaluable to researchers and practitioners alike. It will have a strong impact on movie visual effects and games."
―Jos Stam, Senior Principal Research Scientist, Autodesk, Inc.
"Visual effects programming is undergoing a renaissance as high-end videogame effects technology approaches the state-of-the-art defined by blockbuster Hollywood movies, empowered by the capabilities of multi-Teraflop GPU hardware. A wealth of graphics algorithms are now graduating into the realm of real-time rendering, yet today’s programmers face a formidable challenge in structuring these algorithms to take full advantage of today’s multi-core CPU architectures and deliver on their potential.
This book, the collaborative result of many industry luminaries, wonderfully bridges the gap between the theory of multithreading and the practice of multithreading in advanced graphical applications. Join them on this journey to bring real-time visual effects technology to the next level!"
―Tim Sweeney, CEO and Founder of Epic Games
"…valuable not just to those in the visual effects arena, but also to developers of high performance software looking to increase performance of their code."
―Scott R. Garrigus, NewTechReview
Product details
- Publisher : A K Peters/CRC Press; 1st edition (July 29, 2014)
- Language : English
- Hardcover : 255 pages
- ISBN-10 : 1482243563
- ISBN-13 : 978-1482243567
- Item Weight : 1.25 pounds
- Dimensions : 0.6 x 7.01 x 10 inches
- Best Sellers Rank: #4,557,452 in Books (See Top 100 in Books)
- #402 in Object-Oriented Software Design
- #1,525 in Computer Graphics
- #1,959 in Object-Oriented Design
- Customer Reviews:
About the authors

I am passionate about Parallel Programming and Parallel Computer Architecture. Fast computers! I have had the great fortune to help make key contributions to two of the world's fastest computers (#1 on the "Top500" lists many times) and many other supercomputers.
My latest project is a book on Data Parallelism for C++ (available late 2020).
I am an independent consultant on parallel computing, high performance computing (HPC, AI, ML, CPUs, FPGAs, GPUs, and accelerators of all kinds). I previously worked at Intel until 2016. During my 10,001 days at Intel, I contributed to many projects including the world's first TeraFLOP/s supercomputer (ASCI Red) and the world's first TeraFLOP/s microprocessor. Today, I continue to publish articles and do consulting in areas related to high performance computing, and applications that use high performance computing including AI/ML.

Discover more of the author’s books, see similar authors, read book recommendations and more.

Discover more of the author’s books, see similar authors, read book recommendations and more.
Customer reviews
- 5 star4 star3 star2 star1 star5 star69%31%0%0%0%69%
- 5 star4 star3 star2 star1 star4 star69%31%0%0%0%31%
- 5 star4 star3 star2 star1 star3 star69%31%0%0%0%0%
- 5 star4 star3 star2 star1 star2 star69%31%0%0%0%0%
- 5 star4 star3 star2 star1 star1 star69%31%0%0%0%0%
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonTop reviews from the United States
There was a problem filtering reviews right now. Please try again later.
What this book is not
This book is a collection of various VFX related articles. It is not meant to be a complete / exhaustive tutorial for designing multi-threaded programs or algorithms or how VFX industry approaches multithreading in general. On the other hand, I don’t really feel it’s just a collection of technical papers / advancements like ShaderX or GPU Pro books are. It doesn’t include very detailed presentation of any algorithm or technique. Rather it is a collection of post-mortems of various studios, groups and people working on a specific piece of technology and how they had to face multi-threading, problems they encountered and how they solved them.
Lots of articles have no direct translation to games or real time graphics – you won’t get any ready-to-use recipe for any specific problem, so don’t expect it.
What I liked about it
I really enjoyed practical aspects of the book – talking about actual problems. Most of the problem comes from the fact that existing code bases contain tons of not threaded / tasked, legacy code with tons of global states and “hacks”. It is trivial to say “just rewrite bad code”, but when talking about technology developed for many years, producing desired results and already deployed in huge studios (seems that VFX studios are often order of magnitude larger than game ones…) obviously it is rarely possible. One article provides very interesting reasoning in whole “refactor vs rewrite” discussion.
Authors are not afraid to talk about such not-perfect code and provide practical information how to fix it and avoid such mistakes in the future. There are at least couple articles that mention best code practices and ideas about code design (like working on contexts, stateless / functional approach, avoiding global states, thinking in tasks etc.).
I also liked that authors provided very clear description of “failures” and practicality of final solutions, what did and what didn’t work and why. Definitely this is something most scientific / academic papers are lacking, but here it was described clearly and will definitely help readers.
Final words / recommendation
I feel that with next-gen and bigger game levels, vertex counts and texture resolutions we need not only better runtime algorithms, but also better content creation and modification pipelines. Tools need to be as responsive as they used to be couple years ago, but this time with order of magnitude bigger data sets to work on. This is the area where we almost converged with the problems VFX industry faces. From discussions with many developers, it seems to be the biggest concern of most game studios at the moment – tools are lagging in development compared to the runtime part and we are just beginning to utilize network caches and parallel, multithreaded solutions.
I always put emphasis on short iteration times (they allow to fit more iterations at the same time, more prototypes that directly translate to better final quality of anything – from core gameplay to textures and lighting), but with such big data sets to process, they would have to grow unless we optimize pipelines for modern workstations. Multi-threading and multi-tasking is definitely the way to go.
Too many existing articles and books either only mentioned parallelization problem, or silently ignored it. “Multithreading for Visual Effects” is very good as it finally describes practical side of designing code for multi-threaded execution.
I can honestly recommend “Multithreading for Visual Effects” to any engine, tools and animations programmers. Gameplay or graphics programmers will benefit from it as well and hopefully it will help them create better quality code that runs efficiently on modern multi-core machines.
Bart Wronski





