[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[www-vrml] Re: [Vrspace-dev] Cortona createVrmlFromURL bug test code



Hi all,

crosspost, browser bugs.

Rob Meyers wrote:
This fact that event doesn’t raise for every assignment to addChildren in boundaries of one frame (?) is not standards violation. >>> , , createVrmlFromUrl, callback .
Scarcely it can disturb program’s logic if we take into account that processing time for createVrmlFromUrl, and calling rules for callback are not hardly defined.
>>> ,
With respect.
>>>
ParallelGraphics
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Hah, hah, hah, well you see, since the standard is vague we decided to choose a retarded method of implementing it, so therefore, its not a bug,
its a feature!!! No competent software designer would consider random callbacks to an asynchronous api call acceptable. Come on now...

Right, guess they had trouble implementing event model (thread safe) in C...
... OK so now we know it's broken and ParallelGraphics has no intentions to correct it. Just let's tell it to www-vrml so everybody else knows...


FTR:
--------------------
<Quote>
Alright, this is test code that exposes the issue. As Josip pointed out in that post you mentioned, the issue with Cortona is that it isn't thread safe in the sense that we have two threads, the java program, and Cortona itself. The API can't properly handle when its createVrmlFromURL method is called while it is already handling a call from before. I tried running synchronously, ie. make a call to createVrml..., wait for callback, then call again, etc... Here it properly handles the calls. We can't do this with VRS, it would take forever to load a world this way. The code I have attached is pretty self explanatory. Just double click test.html and the applet will attempt to load up a file from across the net many times. Check out the Java Console for the results of the test. You will see that Contact correctly calls the Callback function for each vrml file created, but Cortona skips calls. The applet tag has parameters you can play with such as sleepTime between calls, numberCalls, and the url of the vrmlfile to load.
</Quote>


I posted the code at http://www.vrspace.org/downloads/CortonaTest.zip . Incidentally, I did notice another bug, but in Contact. It seems that Contact doesn't always call the callback function after processing a removeChildren event. On the other hand, Cortona seems to do this correctly.
--------------------


Regards...

-------------------------------------------------------------------------
for list subscription/unsubscription,
go to http://www.web3d.org/cgi-bin/public_list_signup/lwgate/listsavail.html