16
$\begingroup$

I noticed an absolutely bizarre behavior of Dynamic. A simple dynamic module with SynchronousUpdating -> False is significantly more responsive with LinkSnooper than using the Local kernel. I did not modify either of the evaluator configurations. Is this a known, er, feature?

I am using the function Gamma below only to make sure that evaluation will happen in the kernel. Being asynchronous, it most probably will anyway, but I just wanted to be completely sure.

In[1]:= {$System, $VersionNumber}

Out[1]= {"Microsoft Windows (64-bit)", 11.3}

In[2]:= DynamicModule[{x},
 Column[{
   Options[EvaluationNotebook[], Evaluator],
   Slider[Dynamic[x]],
   Dynamic[Gamma[x + 1], SynchronousUpdating -> False]}]
 ]

(* {Evaluator -> "Local"}, a slider, 1. *)

Dragging the slider causes a noticeable delay, and the window menu flickers like crazy.

In[32]:= SetOptions[EvaluationNotebook[], Evaluator -> "LinkSnooper"]

In[33]:= (* Same Dynamic module as above *)

(* {Evaluator -> "LinkSnooper"}, a slider, 1. *)

I would not call this slider extremely smooth, but it is noticeably smoother than the first. Scrolling log in LinkSnooper just flies non-stop, and I would expect this would slow the frontent-to-kernel communication... but this makes it actually faster! What is going on?

I tried:

  • Verifying the kernel options are same in the running kernel process command line.
  • Running the text mode kernel math instead of the default WolframLanguageKernel.
  • Restarting the whole rig before each test. Same result.
  • Doing other stupid things with the command line. Most of them broke it, other had no effect. For one, removing -wstp and adding -noinit definitely did not do anything, but I have no idea what I was doing.

I am running out of ideas. Has anyone seen that?

Here is a demonstration of the effect:

enter image description here

$\endgroup$
4
  • 3
    $\begingroup$ I've inlined your recording into the question body. For the future, simply upload the recording as a GIF like you would upload an image (i.e. the button or CTRL+G). To get the GIF, either record directly to a GIF (I use ScreenToGif, but there are many others), or simply convert the MP4 or whatever to one, which is what I did here. For that, just google "MP4 to GIF online" and you'll get plenty of options. $\endgroup$
    – Lukas Lang
    Aug 19, 2018 at 17:59
  • 1
    $\begingroup$ @LukasLang: Thank you so much! I though about a multiframe GIF, but mp4 is usually so much more compact, so I did not even try it. Wrong \$Assumptions, entirely my bad! :) $\endgroup$ Aug 19, 2018 at 18:39
  • 1
    $\begingroup$ I do observe this effect with version 11.3, but not with version 12.0.0 where the slider is equally responsible in the both cases (OS Windows 7 x64). $\endgroup$ Jun 14, 2019 at 5:30
  • $\begingroup$ @AlexeyPopkov, thanks for the heads-up! I have not upgraded yet, but it looks I should. $\endgroup$ Jun 14, 2019 at 9:47

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.