This commit is contained in:
mertalev 2025-09-11 14:41:01 -04:00
parent 188dcbf7d0
commit 9ccd98d871
No known key found for this signature in database
GPG key ID: DF6ABC77AAD98C95

View file

@ -17,7 +17,7 @@ class AssetResolver {
private static var batchTimer: DispatchWorkItem?
private static let batchLock = NSLock()
private static let batchTimeout: TimeInterval = 0.001 // 1ms
private static let batchTimeout: TimeInterval = 0.00025 // 250μs
private static let fetchOptions = {
let fetchOptions = PHFetchOptions()
@ -35,6 +35,7 @@ class AssetResolver {
requestQueue.async {
if (request.isCancelled) {
request.completion(nil)
return
}
if let cachedAsset = assetCache.object(forKey: request.assetId as NSString) {
@ -55,13 +56,17 @@ class AssetResolver {
let timer = DispatchWorkItem(block: processBatch)
batchTimer = timer
batchLock.unlock()
processingQueue.asyncAfter(deadline: .now() + batchTimeout, execute: timer)
}
}
private static func processBatch() {
batchLock.lock()
if assetRequests.isEmpty {
batchLock.unlock()
return
}
var completionMap = [String: [(PHAsset?) -> Void]]()
var activeAssetIds = [String]()
completionMap.reserveCapacity(assetRequests.count)