uxcam / ios-swiftui

This is a wrapper on top of the native iOS UXCam SDK for improved SwiftUI capture
Other
2 stars 1 forks source link

Content scrolls jerkily in UITableView, ScrollView #11

Open nobodyknownperson opened 1 year ago

nobodyknownperson commented 1 year ago

Detect that after update from uxcam to uxcamswiftui in UITableView, SwiftUI.ScrollView content scrolls jerkily. This issue starts reproducing in https://github.com/uxcam/ios-swiftui (When we use - https://github.com/uxcam/ios-sdk - scroll lags not reproduce).

Used version: UXCam - 3.6.5 UXCamSwiftUI - 1.0.4

Video of the bug - https://github.com/uxcam/ios-swiftui/assets/144137641/d6bbf55e-bd2d-4032-9a77-2780aebbbe7a

The issue is reproducing in simple projects. Here examples: SwiftUI - UXCAmLags.zip (Scroll view with 100 text elements ) UIKit - UXCamIssue.zip (Simple table view with text in cell)

SwiftUI view with lags:

struct ContentView: View {
    var body: some View {
        ScrollView {
            VStack {
                ForEach(0..<100) { index in
                    HStack {
                        Text("\(index)")
                        Spacer()
                        Text("some text")
                    }
                    .padding()
                    .background(Color.red)
                }
            }
            .padding()
        }
    }
}

UIKit example with lags:

class ViewController: UIViewController {

    @IBOutlet weak var tableView: UITableView!

    override func viewDidLoad() {
        super.viewDidLoad()
        tableView.delegate = self
        tableView.dataSource = self
    }
}

extension ViewController: UITableViewDelegate, UITableViewDataSource {

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        1000
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell",
                                                 for: indexPath) as! TableViewCell
        cell.titleLabel.text = "Test text for demo \(indexPath.row)"
        return cell
    }
}
DFDIEGOH commented 11 months ago

Hi @nobodyknownperson - Diego here from UXCam - Would it be possible to do apod updateon your end to get the latest iOS version in the package (3.6.6) and check if you are getting the same behaviour?

nobodyknownperson commented 11 months ago

Hi. Updated UXCam to 3.6.6 don`t fix the issue. Same lags

DFDIEGOH commented 11 months ago

Understand @nobodyknownperson thank you for sharing this and for the data/projects that you have shared before. I will take a look at this closely with the team and keep you posted on any updates we get in this regard. Feel free to ping me in case you have further questions

DFDIEGOH commented 11 months ago

Hi @nobodyknownperson - We have checked this on our end. It didn’t look jerky to for us when using UXCam.

From the video you provided, it looks like you are probably using iPhone 14 pro or higher end device.

Can you check this issue using iPhone 13 pro or lower?

Additionally, would it be possible to attach the time profiler stack trace as well? This will be very helpful for us to investigate this issue

DFDIEGOH commented 10 months ago

Hi @nobodyknownperson Just checking in - Did you get the opportunity to check our previous message? Please let us know

nobodyknownperson commented 10 months ago

Hi. The issues still reproducing on swift ui demo project on any device(On uikit example issues very insignificant now). Do you enter your appkey for uxcam before reproducing the issue? Also if you what too see more lags can increase numbers in the ForEach to 500.

Here is time profiler stack trace timeprofile.trace.zip

DFDIEGOH commented 10 months ago

Thank you for sharing this @nobodyknownperson We will investigate and keep you posted

DFDIEGOH commented 9 months ago

Hi @nobodyknownperson I just wanted to let you know that we have uploaded a new version of our iOS SDK. This is version 3.6.8 - Even that the team is currently investigating this with the time profiler that you shared in here, would it be possible to upgrade to this version and check if you are having the same issue on your end?

nobodyknownperson commented 9 months ago

Hi. Update to the version 3.6.8 - doesn`t fix the issue. (Tested on swift ui demo with 500 elements)