I was going to wait until this week to show this link since it is not
completely ready (yet), but we have an implementation using
a region module for simple harmonic motion. We drive this motion
through a separate package (Ptolemy) that I have used in my
systems simulation class:
http://www.cise.ufl.edu/~zezzell/ptolemy/ptolemy_opensim.html
Ultimately, for several reasons including artificial delays, LSL
seems inadequate for near real-time simulation. However, access
to the raw timing facility in OpenSim is adequate.
-p
On 12/5/2010 7:30 PM, Jorge Lima wrote:
My project is simple enough - something like throwing a ball off a
cliff with a horizontal impulse and recording its speed. It's for high
school physics teachers/students.
It seems to me that I can either have a fast timer that simulates the
movement and generates points, or I can have a fast timer that trusts
the physics engine to provide an accurate simulation and records its
output :)
I will look into the Timer.cs file and try out C# scripting tomorrow,
then get back to you. Thanks for the help!
On Sat, Dec 4, 2010 at 6:23 AM, dz<[email protected]> wrote:
I'd have to agree with Justin...
Expecting event handling to be optimized is too optimistic, but there are
alternatives. The .Net/Mono libraries already include timer functions that
support fast and accurate timing.
Relying on an LSL event trigger to happen every 4 frames MAY work in SL but
it is a design begging to cause lag and stop itself. Designs like that are
also susceptible to event buffer overflows where your events are "lost",
leaving you to wonder why your "reliable" script sometimes just isn't..
The ONLY LSL events I have seen requiring sub-second repeats would be in
an AO, but timer based AO's are obsoleted in OpenSim by the use of the
Animation_Changed event.
In the extreme, if you are trying to be very exact,, you would want to
insure the timings were made by processes independent of the region time
dialations, not the ones that may be responsible for them.
On Fri, Dec 3, 2010 at 5:35 PM,<[email protected]>
wrote:
---------- Forwarded message ----------
From: Jorge Lima<[email protected]>
Subject: [Opensim-users] Slow LSL timers
Ran 100 timer events with a single if(++i> 100) inside. I suppose
decrementing and comparing to 0 might be faster, but I also
copy-pasted 100 inlined if clauses and the time to run them was
negligible.
llSetTimerEvent(0.1) -> 59 s -> 490% overhead
llSetTimerEvent(0.2) -> 59 s -> 195% overhead
llSetTimerEvent(0.5) -> 59 s -> 18% overhead
llSetTimerEvent(0.75) -> 81 s -> 8% overhead
llSetTimerEvent(1.0) -> 108 s -> 8% overhead
llSetTimerEvent(2.0) -> 209 s -> 4.5% overhead
llSetTimerEvent(4.0) -> 407 s -> 1.75% overhead
I am guessing that the overhead is, therefore, internal to the timer
implementation. I haven't tested raw C# timers as comparison but 100ms
is an eternity in modern computing, I can ping servers across the
Atlantic ocean in less than that!
I went through the code but I haven't yet found the part that handles
timers. It's not in EventManager.
Does anyone know what's going on? The code works fine in SL.
Should I be posting this in the dev list? I'd like to see if I can fix it.
Any thoughts on how to get fast timers in OpenSim?
Faster computer? (I did check and was only getting about 20% CPU usage...)
Porting them to a Real-Time operating system? :)
---------- Forwarded message ----------
From: Justin Clark-Casey<[email protected]>
To: [email protected]
Date: Sat, 04 Dec 2010 01:35:32 +0000
Subject: Re: [Opensim-users] Slow LSL timers
I'm not familiar with the this area of the code but I had a quick look
since I was curious (the meat is in
OpenSim/Region/ScriptEngine/Shared/Api/Plugins/Timer.cs). The code isn't
using C# timers so I'm not totally surprised at the behaviour that you're
seeing.
I suspect addressing this would require a considerably different
implementation.
_______________________________________________
Opensim-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-users
_______________________________________________
Opensim-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-users
--
Paul Fishwick, PhD
Professor and Director, Digital Arts and Sciences
CISE Department, CSE 301
University of Florida
Gainesville, FL 32611
Email: [email protected]
Web: http://www.cise.ufl.edu/~fishwick
Blog: http://www.representationz.com
_______________________________________________
Opensim-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-users