Propuse que JMP trate los elementos de visualización de la misma manera que cualquier otro marco de GUI: no redibuje ningún elemento a menos que el contenido haya cambiado o se invoque un método específico de redibujado (o invalidación).
Específicamente, ¿puede haber por favor ser una forma de evitar que los cuadros de marcos vuelvan a dibujar el contenido (esto incluye volver a dibujar todos los puntos de datos y volver a ejecutar cualquier script adjunto) cada vez que se desplaza una ventana?En serio, dibuje una vez y mantenga el mapa de bits (o mapa de píxeles) persistente a menos que se haya cambiado el cuadro (cambio de tamaño/cambio de dt RowState/método inval)
Esto es un increíblemente extremo la productividad mata cuando se desplaza a través de gráficos que tienen muchos miles de puntos o secuencias de comandos complejas adjuntas.El método actual de "volver a dibujar en cada oportunidad posible sin importar qué" es extremadamente desconcertante.
Aquí hay un ejemplo: el script adjunto simplemente se imprime en el registro, pero al desplazarse por los gráficos se muestra cómo se ejecuta constantemente cada vez que se actualiza el cuadro de desplazamiento (no propague el método <
New Window( "Test",
vlb = V List Box()
);
::global function = Function( {},
Print( 1 );
);
For( i = 1, i <= 20, i++,
vlb << Append(
Graph Box(
Frame Size( 200, 200 ),
X Scale( -100, 100 ),
Y Scale( -100, 100 ),
::global function
)
)
)