Acelerando las actualizaciones de la interfaz gráfica de usuario de Java

Recibo objetos de datos en momentos aleatorios a una frecuencia alta, y necesito actualizar la GUI de JavaFX con estos. Sin embargo, no quiero llenar la cola de eventos javafx con una gran cantidad de ejecutables (uso Platform.RunLater).

He estado pensando en cómo implementar mejor un algoritmo de aceleración.

¿Sería mejor tener un hilo GUIUpdater separado que verifique, por ejemplo, una cola de bloqueo para nuevos objetos, y luego duerma, por ejemplo, durante 30 ms y luego vuelva a verificar, en un bucle infinito? En ese caso, ¿sería una cola de bloqueo la estructura de datos óptima? Tenga en cuenta que solo necesito el último objeto de datos y que blockQueue es una cola FIFO y parece que no puedo elegir solo la última entrada.O bien, ¿sería mejor simplemente actualizar la GUI con Platform.RunLater si nanoTime-startTime> 30ms? En ese caso, no necesito un hilo separado para realizar la llamada Platform.RunLater-call. Sin embargo, si se recibe una actualización cuando no han transcurrido 30 ms y luego no se reciben actualizaciones durante algún tiempo, la última actualización no aparecerá en la GUI.

¿Alguna sugerencia sobre cómo diseñar un algoritmo de aceleración para JavaFX Platform.RunLater GUI se actualiza de una manera corta y eficiente?

Respuestas a la pregunta(1)

Su respuesta a la pregunta