LiveCode 8.2.0 DP-1 Dropping Keystrokes in IDE

Mark Waddingham mark at livecode.com
Wed Sep 20 13:42:39 EDT 2017


On 2017-09-20 13:15, RunRevPlanet via use-livecode wrote:
> "Well, if there a simple procedure that we at LiveCode can do that will 
> catch
> really obvious bugs before sending out a DP, it is not worth doing 
> because it
> won't catch all the bugs and have 100% percentage coverage."

> I fail to see the logic in not doing simple tests, simply because it 
> won't
> detect all the problems.

We do do this.

Panos diligently tests every build on each we release on each platform 
before we release it (DP, RC, GM). Indeed, he checks every bug marked as 
AWAITING_TEST to make sure it has been fixed in the actual build as well 
as a number of other things which are hard to test completely in an 
automated fashion (e.g. standalone building).

As autocomplete was added in 8.2-dp-1 - the SE was also checked 
thoroughly.

Now, an important point here is that Panos could not reproduce your 
problem on revidelibrary (which is a very long script) in dp-1 - which 
he was trying to do to verify that the fix I made to the problem had 
actually fixed it. Furthermore, in the lead up to release of dp-1 we 
noticed a couple of issues on Windows with AutoComplete which we had to 
fix, and no-one noticed the issue then either. This does suggest that 
the problem you observed probably would not have been picked up by the 
pre-release testing you suggest would have found it.

This is why we do DPs.

Of course I did manage to reproduce and fix the problem but only because 
I tried things out in a Debug build of the Windows engine (which is 
horrendously slow since moving to VS2017 for an annoying technical 
reason which we haven't had a chance to sort out yet). I must confess 
that I hadn't actually noticed that it was dropping keystrokes before - 
mainly because I had long gotten into the habit of copy/pasting text 
into the message box / script editor when running in that fashion. 
However, when I tried it out I *did* notice what you observed and a fix 
quickly followed (the underlying problem has actually been there since 
the early days of 7 - and is caused when script runs for long enough to 
cause events to be queued as part of checking for Ctrl-. - the abort 
script key stroke).

Now, one retort might be to 'test on less performant windows machines' - 
which would be reasonable were it not for the fact that the machine 
Panos tests things out on has the spec:

    Windows 10 Home (version 1703) 64-bit
    Processor: Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz 2.40
    Installed RAM: 8GB
    Standard mobile graphics chipset.
    Normal hard-drive (not SSD)

When compared to your spec:

    Windows 10 Home 64-bit
    Intel Core i5 6600K @ 3.5GHz
    16Gb RAM
    4Gb GeForce GTX 960
    SSD + Normal Hard-drive

You can see that yours is substantially better.

This therefore leads me to ask the following:

   1) Do you have anything in your LiveCode IDE (plugins etc.) which 
might be:

      a) interfering with keyboard message processing?

      b) causing script to run at frequent intervals unrelated to user 
interaction?

   2) Do any of your LiveCode projects send continual pending messages 
whilst loaded in the IDE?

   3) Or anything on your machine which causes a general system 
performance degredation? (i.e. using a fixed percent of the CPU / disk 
most of the time).

   4) Absolutely anything else you can think of which might cause things 
in general on your system to run slower.

The reason I ask is that no-one else has reported a similar problem on 
Windows in the entire time the underlying issue has been around (that I 
can recall) - and I strongly suspect the issue you noticed with keyboard 
shortcuts is caused by the same underlying issue (again something which 
has not been reported by anyone else that I can recall - and predates 
AC). This coupled with the fact we weren't able to reproduce the issue 
in dp-1 here on any of the Windows machines we use (which are quite 
varied) does suggest that there is an extra factor at play which meant 
the underlying issue was much more likely to cause problems on your 
system.

One way to test out this hypothesis is to run inside a fresh user 
account on your windows machine, making sure that no 'on startup load' 
items launch. Then run a freshly installed copy of LiveCode 8.1-dp-1, 
and try to edit revidelibrary (don't load any of your own projects) and 
see if you still see the problem.

Whilst I'm pretty sure the fix will work regardless of environment, you 
might find that *something* is affecting the performance of the IDE on 
your system, in which case finding out what it is and rectifying it will 
probably lead to a generally better experience of the IDE for you.

Warmest Regards,

Mark.

P.S. Please don't read the above as 'turning the issue around on the 
user' because it isn't. There is clearly another factor at play here but 
we don't know what it is. The only thing in the IDE/engine which (in the 
normal course of things) could cause the problem to manifest itself is 
the engine's Ctrl-. abort key shortcut processing which it does every 
500ms whilst script is running. In the debug engine on Windows, a 
keystroke into the message box / script editor takes in excess of that 
time to process in script (did I mention I had got into the habit of 
using Copy/Paste when doing work in that mode? ;)) hence why it was 
reproducible there. Even in Monte's performance testing of AC, I don't 
think he observed it taking longer than 100ms per keystroke - if that - 
and he did, and continues to, work on getting it as efficient and fast 
as possible.

-- 
Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps




More information about the use-livecode mailing list