[英]SwiftUI macOS view starts lagging when displaying multiple charts
我在一個視圖中顯示多個圖表。
圖表只是框架中的路徑,數據來自 csv 文件(不大於 400mb)。
這些圖表顯示在 LazyVGrid 內,整個視圖位於滾動視圖內。
加載視圖大約需要 10 - 20 秒,但是當我開始滾動圖表時,它變得非常滯后。
為了解決這個問題,我嘗試將 attach.drawingGroup() 附加到圖表視圖,但那里幾乎沒有性能變化。
代碼看起來像這樣:
import SwiftUI
struct GroupView: View {
@State var chartData = [CGFloat]()
let columns = [
GridItem(.adaptive(minimum: 720))
]
var body: some View {
VStack{
ScrollView {
LazyVGrid(columns: columns){
CSVChart(data: chartData, chartName: String, x-yaxisName: [String](), lineColor: CGColor)
.frame(width: 700, height: 300, alignment: .center)
.drawingGroup() // there is as well no performance change when .drawingGroup() is inside the chart view
}
}
}.onAppear{
chartData = // get csv data logic
}
}
}
我知道 csv 文件非常大,這會導致行為緩慢,但我認為其他應用程序在處理大文件時並沒有那么滯后,所以這可能是可以修復的。
如果有人可以幫助我解決這個問題,那就太好了。
將軸添加到您的 ScrollView 以判斷它可以在哪一側增長。
ScrollView(.vertical) {
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.