As you know EF is a measurement of the heart's pumping output in VOLUME with each stroke. The heart chambers' size is not rigid (unless hypertrohic, etc.) but elastic and varies in dimension (LV volume capacity) to maintain a compensatory balance between the right and left chambers when there is not a dysfunctional system.
To better understand, there is a similar test called fractional shortening (FS). Rather than measure by VOLUME it is a measurement of the relationship between the maximum dimensions during diastole and then systole recorded with the an echo. FS measures contractility (estimation). It is calculated by the difference of end diastolic dimension and end systolic dimension and then divided by end diastolic dimension. Normal range is 18 to 42%.
When end diastole is increased there are stronger contractions (Frank/Starling law of physics), but over stretched the will be a loss of contractility (dilated left ventricle). When there is hypertrophy the muscle growth crowds out filling capacitiy and as well as stiffness affects contractions.
To answer your question which is the best to measure EF, I would say the echo. Because the measurement is taken when the heart is/should be at a slower heart rate. I watched the tech and he pointed and remarked on the procedure while testing, and it is apparant the border of the chambers are fuzzy because of the heart wall movement and the tech attempts (estimates) to outline border with a transducer. A faster heart rate would be more difficult to measure and less accurate. My opinion.