It is generally recommended that you perform ddrescue operations in three phases as described here, using a log file so that the multiple passes can be merged together on the fly.
first do a fast pass using cached reads (no --direct) and not performing any serious recovery. This step should get the vast majority of your data unless the drive is very far gone.
ddrescue --no-split /dev/hda1 imagefile logfile
then try it uncached with splitting, but abort each bad area after 3 bad attempts.
ddrescue --direct --max-retries=3 /dev/hda1 imagefile logfile
and finally attempt to retrim any remaining error areas, once again aborting if recovery is not possible.
ddrescue --direct --retrim --max-retries=3 /dev/hda1 imagefile logfile
Note that by following this approach, you get all the undamaged data up front, as quickly as possible. even if the other recovery options can't recover enough of the drive to make it mountable, you can still use file carving utilities like PhotoRec to recover intact files of known types off the image.