473,395 Members | 1,443 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

Timer in firefox, opera, et al.

Hello,
I'm using the setTimeout function to perform some animation. The timeout
I'm using is 30ms, which works well in IE and produces smooth animation.
However, in other, more standards compliant browsers, it plays back much
slower. It seems like this happens to the same degree on all of these
browsers, and if I increase or decrease the timeout by a little bit it
doesn't have any effect. This leads me to believe that there is some
minimum timeout for this function in the standards (are there any
standards?) but I can't find any info on this.

If I increase the timeout and increase the "jump" of the animation, it works
at the correct rate but looks like crap. Any way to get the other browsers
to give me 30ms precision?

Thanks,
-Jeremy
Jul 23 '05 #1
2 1581
"Jeremy" <je*****@uci.edu> writes:
This leads me to believe that there is some minimum timeout for this
function in the standards (are there any standards?)
There are no standards. There is a, browser and OS dependent, minimum
delay, the timer granularity. However, in IE 6, Moz FF and Opera 7,
that seems to be 10ms (as witnessed by this program:)
---
var t1;
var times = [];
var n=0;
function timer() {
var t2 = new Date();
times.push(t2-t1);
t1=t2;
if (--n>0) {
setTimeout(timer,1);
}
}

function report() {
alert(times);
}
setTimeout(report,1000);
n=5;
t1=new Date();
setTimeout(timer,1);
---

If the delay between rounds is more than that, maybe it is the time it
takes to update the animation that counts against you. If you call the
setTimeout again at the end of each step, you will be delayed by the
time it takes to do the step.
If I increase the timeout and increase the "jump" of the animation, it works
at the correct rate but looks like crap. Any way to get the other browsers
to give me 30ms precision?


I would use setInterval(step,30) and hope the steps take less than 30
ms. It won't be exact, but it should be close enough.

/L
--
Lasse Reichstein Nielsen - lr*@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
Jul 23 '05 #2
JRS: In article <lL1gc.9178$yD1.28188@attbi_s54>, seen in
news:comp.lang.javascript, Jeremy <je*****@uci.edu> posted at Sat, 17
Apr 2004 03:45:21 :
I'm using the setTimeout function to perform some animation. The timeout
I'm using is 30ms, which works well in IE and produces smooth animation.
However, in other, more standards compliant browsers, it plays back much
slower. It seems like this happens to the same degree on all of these
browsers, and if I increase or decrease the timeout by a little bit it
doesn't have any effect. This leads me to believe that there is some
minimum timeout for this function in the standards (are there any
standards?) but I can't find any info on this.

If I increase the timeout and increase the "jump" of the animation, it works
at the correct rate but looks like crap. Any way to get the other browsers
to give me 30ms precision?


You could have consulted the newsgroup FAQ on the subject of time; see
sig below.

The resolution of the date object itself is by definition one
millisecond; but the values of new Date() increase in steps of 10 ms for
WinNT+ systems or 55 ms for Win98x systems (and possibly other values
for other systems).

<URL:http://www.merlyn.demon.co.uk/js-dates.htm#OV> refers; and will
show the resolution of the browser being used.

The same timing mechanism is (extremely likely to be) used for the
setTimeout function, and for setInterval too.

I expect the resolution to be an OS property, otherwise independent of
browser version.
For use on a 55 ms system, you could in principle write a time-wasting
loop, see how many times it could be executed between successive 55 ms
timeouts, similarly time your display routine, then use that information
to attempt a hand-crafted 27.5 ms interval between a timed display call
and a fill-in one. It seems a dubious approach, but there may be no
better.

--
© John Stockton, Surrey, UK. ?@merlyn.demon.co.uk Turnpike v4.00 IE 4 ©
<URL:http://jibbering.com/faq/> Jim Ley's FAQ for news:comp.lang.javascript
<URL:http://www.merlyn.demon.co.uk/js-index.htm> jscr times, dates, sources.
<URL:http://www.merlyn.demon.co.uk/> TP/BP/Delphi/jscr/&c, FAQ items, links.
Jul 23 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Boris | last post by:
Please open http://www.highscore.de/opera/floatleft.html in Opera 7.54 and Firefox 1.0 Preview. Who is right? In my humble opinion Opera 7.54 is right: According to CSS 2.1 a "floating box must...
2
by: Sharon | last post by:
Can I use request.servervariables("HTTP_USER_AGENT") to determine if the user has Firefox or Internet Explorer? Is the return string differentiated enough? Thanks for any input.
15
by: 50295 | last post by:
Hi everyone, This one is better experienced than explained, so I'm including a code sample below. Please and save (as an html file) and view with NN or Firefox (or maybe even Mozilla), and then...
9
by: VK | last post by:
if ((window)&&(window.netscape)&&(window.netscape.security)) { // OK, this is Gecko/Firefox or someone mimicing it so well // that there is no way to catch it on the act. } But I need Firefox...
11
by: Hymer | last post by:
Hello, I have a small table that works fine in IE6 but does not render at all in Opera or Firefox. Can anyone see what might be needed to get this to work in all three browsers? The code...
2
by: André Wagner | last post by:
I'm trying to get all the "divs" that have a given NAME using getElementsByName(). For example, the following code: <html> <head> <script type="text/javascript"> function on_load() { var...
5
by: VK | last post by:
On the demo at <http://www.geocities.com/schools_ring/tmp/demo01/index.xml> the table caption has 1px(?) indentation from the left in Firefox 1.5 and I'm running out of ideas how to kill it - if...
6
by: raknin | last post by:
I am creating a dynamic list on the server using php file,when I run the PHP script in all 4 browsers (IE 6, Firefox 2, opera and safari 3) every think go Ok and the list is created. but when I call...
29
by: canabatz | last post by:
Hello , i got this code that works great , now i want to have it refresh every 4 seconds , where can i put the timer to do that? i realy need help!! thanx!! <script type="text/javascript">...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.