這將是非常棒如果 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>