我建議 JMP 以與所有其他 GUI 框架相同的方式處理顯示元素——除非內容已更改或調用特定的重繪(或無效)方法,否則不要重繪任何元素。
具體可以有請是一種讓框架框在滾動窗口時不重繪內容(這包括重繪所有數據點和重新運行任何附加腳本)的方法?認真地說,繪製一次並保持位圖(或像素圖)持久,除非框已更改(大小更改/dt RowState 更改/無效方法)
這是個極度極端滾動瀏覽具有數千個點或複雜附加腳本的圖形時,生產力會降低。目前“千方百計重畫”的做法實在是莫名其妙。
這是一個示例——附加的腳本僅打印到日誌中,但滾動圖表顯示每次滾動框更新時它如何不斷運行(不要將 <
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
)
)
)