It is not so much having that the slowdown is caused by exceptions being ON in WebGL, but i cannot measure it when it is off. So we don’t have any proof if that is the cause or not. I expect much of the slowdown just to be from WebGL in itself (C# to C++ and then to JavaScript can’t be good for any big codebase.)
The point of exceptions being off is… that you cannot catch the exceptions. So we have no idea either as to why it crashes when it is turned off. I would like to reffer to the following post about the future of this:
http://forum.unity3d.com/threads/webgl-exceptionsupport-performance.307713/
As for the exception on/off thing, i cannot find the exact post. But it seems to be common for exceptions ON == nothing is wrong. And exceptions OFF == some error/exception that crashes it which is not catched. It is pretty horrible at this moment.
As for the edited code:
http://pastebin.com/BXJvgxxz
http://pastebin.com/a02cqRwC
These will expire in 1 day, please make a local copy.
The original code was taken from the latest beta (3.6.4)
If i missed anything, just assume i made void into IEnumerator and started a coroutine