In many applications the geometry processor is under-used. If your application is pixel processor bound, it might be possible to move some of these computations to the geometry processor.
For example, you can move some types of pixel shading computations to the geometry processor by using varyings. Varyings are computed per vertex and are interpolated across a triangle. This requires less computations than computing values per pixel but sometimes produces lower visual quality for some effects. The quality difference can be relatively small so consider if per pixel operations are worth the additional computations.
A compromise is to split calculations across both processors. You can use the geometry processor to output varyings and compute per pixel differences in the pixel processor.