如果 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 知道哪些幀框是可見的,並跳過其他幀框。