-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve item details UI performance #1021
Improve item details UI performance #1021
Conversation
Just to confirm, the "performance improvement" was moving the slow parts to background? :) I didn't know we could do data source snapshot updates in background, doesn't it break anything? Otherwise if this helps then great. |
Zotero/Scenes/Detail/ItemDetail/Views/ItemDetailViewController.swift
Outdated
Show resolved
Hide resolved
Zotero/Scenes/Detail/ItemDetail/Views/ItemDetailViewController.swift
Outdated
Show resolved
Hide resolved
Zotero/Scenes/Detail/ItemDetail/Views/ItemDetailViewController.swift
Outdated
Show resolved
Hide resolved
Zotero/Scenes/Detail/ItemDetail/Views/ItemDetailViewController.swift
Outdated
Show resolved
Hide resolved
Zotero/Scenes/Detail/ItemDetail/Views/ItemDetailViewController.swift
Outdated
Show resolved
Hide resolved
In this case, both this and the snapshot memory reduction are performance improvements, but the latter has a larger effect. Using a background queue for diffable data source updates has been suggested since its introduction. The framework handles the snapshot application in the main queue, and all business logic can be safely done in the background. |
Good to know, we could definitely move all diffable data source interactions to background then. Feel free to create a ticket for it. |
(Sorry, I added comments some time ago and forgot to submit them) |
Improves UI performance for item details. When there is a large number of sizable notes, e.g. ones created from annotations, scrolling becomes sluggish, and opening attachments from the details view causes the app to hang as the loading of the file is very slow.