Do I need to optimise images for smaller file sizes? Im adding images to my content through Drupal eg as a CCK field and im normally displaying them through image cache. 

I want the images to be compressed for a smaller file size as sometimes the originals can be massive without looking that much sharper. Note, im not talking about resolution here, but the quality of the image. 

Do I need to first do this with a graphics program like Photoshop or will Drupal automatically do this for me? If it does it automatically, are the results fairly good or is it still best to do it manually? 

Thanks
Drupal does this for you; check your ImageCache settings (look for it under admin/settings), since it basically runs ImageMagick or uses GD in the background to do the image conversions. There is a quality setting that should do what you need.

IIRC, ImageMagick does a good job. The external GD library when called from PHP apparently aren't as reliable, but the built-in GD also does a good job, I think. Ultimately, you have to test this to see if it meets your own standards.