Re: [fullscreen] Problems with mouse-edge scrolling and games

On Mon, Feb 24, 2014 at 6:47 PM, Brendan Eich <>wrote:

> Glenn Maynard wrote:
>> It's not the application's job to keep the mouse cursor responsive, it's
>> the system's.  Hiding the system mouse cursor and drawing one manually is
>> always a bad idea.
> Agreed!

Like I say, some usecases are fine with OS cursors. But that doesn't mean
that somehow, vendors are absolved from improving input -> output latency
issues even if pointerlock is updated to allow OS cursor showing, which I'm
all for.  There are a lot of usecases that involve pointing devices, and
pointing metaphors, or view controls, virtual helmets, and so forth, that
cannot properly function with a high input -> output latency. For this
reason it's imperative not only to address the ability to make the OS
cursor visible, but also to continue working on low latency input -> output.

> In the same vein, programmers cannot avoid GC pauses without relying on
> pause-free or at least incremental GC (which BTW some browsers' JS engines
> have already, e.g., SpiderMonkey in Firefox), or as a real alternative,
> cross-compiling C or C++ for example via Emscripten, to allocate heap
> memory from a typed array.

Florian, your goals are good, but the means to those ends must involve
> better runtimes or compilers -- not on JS programmers working harder to
> avoid GC while still somehow allocating objects frequently and even
> implicitly.

I agree that things aren't today how they should be for realtime
applications with GCs. And it's true that GCs are getting better. But, it
is the status of today, that a JS programmer has to work harder to make a
glitch/stutter/jerk free realtime applications. A better GC can improve
this situation. However, that doesn't mean that you can forget about GCing
and frame budgets. A realtime programmer will always have to be conscious
not to overload the GC even if it's incremental. Because when the
incremental GC would not manage to get rid of the garbage faster than it is
produced, it would have to resort to more drastic pauses to rectify that
situation. Fortunately the act of being GC conscious for a non incremental
GC, and for an incremental one, is very similar. You try to avoid
triggering it. So in that, you can start that work today, it will not be in
vain once GCs get better in some far flung future.

Received on Monday, 24 February 2014 18:19:44 UTC