Applications can under-perform for a number of reasons. Optimizing 3D applications can be a complex topic with many different techniques that can be used in different circumstances.
However, many performance problems can be fixed relatively easily. Most of these require relatively simple optimization techniques that you can use to improve the performance and quality of graphics.
This chapter lists a number of techniques that fix many basic problems. Ensure you go through the list before trying more advanced optimizations.