IGListKit icon indicating copy to clipboard operation
IGListKit copied to clipboard

On iOS devices that support adaptive frame rate (such as 13 pro max), there will be slight jitter when scrolling the list slowly

Open chengxianghe opened this issue 10 months ago • 4 comments

On iOS devices that support adaptive frame rate (such as 13 pro max), there will be slight jitter when scrolling the list slowly

chengxianghe avatar Mar 21 '25 02:03 chengxianghe

This issue can be reproduced in the first list of Instagram App.

chengxianghe avatar Mar 21 '25 03:03 chengxianghe

I have found the reason, mainly the effect of this code, is this setting necessary? _collectionView.prefetchingEnabled = NO;

chengxianghe avatar Apr 10 '25 05:04 chengxianghe

Thanks for the feedback @chengxianghe! Yeah, I was wondering the same when I joined Instagram.

When I looked into it, it seemed prefetching was disabled near the start of IGListKit's development since in all benchmarking tests, it was showing to have lower scroll performance. The vast majority of Instagram's use of IGListKit is for single vertical columns of content, so there doesn't seem to be a huge amount of value in having pre-fetching enabled.

I do wonder if it's worth exposing that flag as an official supported property, so third party apps can toggle it and see if they get greater performance from it. Let me know what you think!

TimOliver avatar May 01 '25 08:05 TimOliver

@TimOliver I'm sorry it took so long to see this message. Based on my debugging experience, enabling this setting on devices that support ProMotion improves performance (especially when scrolling slowly). I think it would be more reasonable to open this property to external settings. However, I'm not sure whether enabling this property will conflict with IGList's own refresh mechanism.

chengxianghe avatar Aug 01 '25 08:08 chengxianghe