这将是非常棒如果 JMP 允许帧框具有采样保持类型的显示。具体来说,它们应该被渲染一次,并且只针对调整大小事件、行状态更改(对于链接到表的行状态的任何标记段)或通过发送 <<
我想看到的是下面的示例脚本不会多次打印任何数字滚动时-- 在初始渲染期间,仅此而已(如果存在,这也适用于标记段)。
这样做的主要原因是,如果我用数百万个数据点绘制许多图表,我不介意等待几秒钟的初始渲染(这是预期的),但每个滚动事件都需要几秒钟的渲染是不可接受的-- 只渲染一次,并在滚动时在不同的位置重新绘制位图。
注意:如果开发人员担心在 ram 中保存位图会消耗内存——不要担心。让用户在设置盒子时担心这一点。例如,如果我尝试创建一个要渲染的 1,000,000,000 x 1,000,000,000 像素的绘图,那么让我尝试它并让 JMP 崩溃。您不应该仅仅因为它可能允许我们在愚蠢的情况下使 JMP 崩溃而阻止我们拥有必要的功能。只允许选择加入(即,只有通过调用 <
重申一下,如果 FrameBox 有一个方法(例如 <
这是当前不良行为的一个示例——这些数字被打印多次,表明渲染过程发生在每个滚动事件中:
Names Default to Here( 1 );
New Window( "Test",
V Scroll Box(
vlb = V List Box()
)
);
For( i = 1, i <= 100, i++,
Eval( Eval Expr(
vlb << Append(
Graph Box(
X Scale( 0, 1 ),
Y Scale( 0, 1 ),
Pen Color( "Blue" );
Line( [1 0], [0 1] );
Print( Expr( i ) )
)
)
) )
)
这是与此“在每个滚动事件时重新渲染”/“在每个可能的机会重新渲染”相关的不可接受的等待时间的示例(只需尝试在此处滚动...)
Names Default to Here( 1 );
ns = New Namespace();
ns:table = New Table( "TEST",
New Column( "X", "Numeric", <<FORMULA></FORMULA>