2.7 Issues of Software, Hardware, and APIs 127
of the optimizing compiler not being powerful enough to recognize the problems and
rearrange transparently. But in many cases, a low-level solution is required, namely,
writing parts of the code in assembly language. And once again portability becomes
aproblem.
All of these issues must be weighed and the trade-offs made when building a
renderer. This is where the art of renderer construction really kicks in. Someone
who does not understand all the issues will be unlikely to succeed in building a good
renderer.
2.7.2 Portability versus Performance
This is a section that was not in the first edition of the book. I felt compelled to talk
a little bit about this trade-off, especially since the Wild Magic engine ...