OSX: Screen('FrameRate')

Screen('FrameRate') returns 0 on my laptop. Is it possible to force it
to measure the frame rate, as in the OS9 version?

For example, something like

fps=Screen('FrameRate',w); % frames per second
if fps == 0
% measure frame rate if Screen('FrameRate') fails
nsamples = 100;
ftime = zeros(1,nsamples);
Screen('Flip',w);
for i=1:nsamples
Screen('Flip',w);
ftime(i) = GetSecs;
end
fps = 1/mean(diff(ftime(3:end)));
end

Is there some better way to do this?

keith