2017-11-11 1 views
0

Ich arbeite an genetischen Algorithmen in Javascript und müsste in Echtzeit die vom Algorithmus bereitgestellten Lösungen visualisieren.Javascript Live-Animation

Grundsätzlich muß ich something like this

All meine Versuche (wenn „Run“ klicken), mit DIVs und CSS-Positionierung oder SVG mit einem leeren Bildschirm und Browser-Absturz am Ende zu schaffen.

Die Verwendung von setInterval zum Definieren von Schritten beim Rendern scheint eine schlechte Idee zu sein, da es auch die Algorithmusgeschwindigkeit drastisch reduziert.

Fehle ich etwas?

+0

Zeigen Sie Ihren Code! –

+0

Es gibt keinen Code, jeder Versuch einer Endlosschleife ist fehlgeschlagen. Ich suche nach Ratschlägen oder Ideen, das ist der Punkt. –

+0

der fehlgeschlagene Versuche Code wäre eine gute Basis, um das Problem zu lösen ... –

Antwort

0

Ok, das Problem mit dem Browser abstürzt kann mit einer richtigen Verwendung von setTimeout, nextTick, setImmediate oder request gelöst werden, so dass der Browser der Kurve vor den nächsten Berechnungen zu machen.

Da ich auch einige Grafik-Rendering benötigt, um die Ergebnisse anzuzeigen, habe ich am Ende P5.js verwendet, was ziemlich toll ist.

+0

Sie sollten sich auch [requestAnimationFrame] (https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame) anstelle von setTimeout ansehen ... –

+0

Ich habe meine Antwort bearbeitet, danke! –

0

Ich empfehle, dass Sie Reactjs verwenden. Dieses Framework kann Komponenten in Echtzeit organisieren. Ich habe ein Projekt namens Game of Life, es ist wie ein genetischer Algorithmus.

[Codepen](https://codepen.io/israelmarmar/pen/vZmWPp) 
+0

Vielen Dank für Ihre Antwort. Leider kann ich ReactJs nicht für dieses Projekt verwenden. Beispiele, die ich gefunden habe, scheinen nur eine Art Endlosschleife zu benutzen, also bin ich ziemlich verwirrt. Wirklich cooles Beispiel, obwohl! –