簡體   English   中英

SwiftUI macOS 視圖在顯示多個圖表時開始滯后

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM