dataarts / dat.gui

Lightweight controller library for JavaScript.
Apache License 2.0
7.46k stars 1.08k forks source link

When using NoLoop and redraw callback from onFinishChange(redraw) runs multiple times depending on value #322

Open vitauser1 opened 1 year ago

vitauser1 commented 1 year ago

I don't think this is how it should work but I am a beginner....

When only redrawing on a gui change, the redraw call back seems to be called multiple times depending on the value of the slider.

So if slider is at 40, draw is run 40 times and prints the test text 40 times.

I was imagining it should only run once when slider has changed?

Am I missing something. Any help appreciated!

Example (p5.js):

function setup() {
  createCanvas(400, 400);
  test = {number: 1000};  
  gui = new dat.GUI();
  gui.add(test, "number", 1, 100, 1).onFinishChange(redraw);
  noLoop();
}

function draw() {
  print("TestText", test.number);
}