14
$\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$
  • 2
    $\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 '18 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$ – kkm Aug 19 '18 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$ – Alexey Popkov Jun 14 at 5:30
  • $\begingroup$ @AlexeyPopkov, thanks for the heads-up! I have not upgraded yet, but it looks I should. $\endgroup$ – kkm Jun 14 at 9:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.