如果 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>
<P> </P>
<P> </P>
<P> </P>你好@ErraticAttack , 谢谢你的建议! 我们已记录您的请求,并将予以考虑。
很好的例子。
太棒了:JMP 知道哪些帧框是可见的,并跳过其他帧框。