- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在开发一个自定义 UICollectionViewLayout
,它显示按天/周/月组织的单元格。
滚动不流畅,看起来延迟是由于在每个渲染循环上调用 [UICollectionView _updateVisibleCellsNow]
造成的。
< 30 个项目的性能还可以,但大约 100 个或更多,它非常慢。这是 UICollectionView 和自定义布局的限制,还是我没有为 View 提供足够的信息来正确执行?
来源:https://github.com/oskarhagberg/calendarcollection
数据源和委托(delegate):https://github.com/oskarhagberg/calendarcollection/blob/master/CalendarHeatMap/OHCalendarView.m
时间简介:
更新
也许它是徒劳的?使用简单的 UICollectionViewController
和 UICollectionViewFlowLayout
进行一些测试,并给出大致相同数量的单元格/屏幕会产生相似的时间配置文件。
我觉得它应该能够一次处理约 100 个简单的不透明单元而不会出现抖动。我错了吗?
最佳答案
也不要忘记尝试栅格化单元格的图层:
cell.layer.shouldRasterize = YES;
cell.layer.rasterizationScale = [UIScreen mainScreen].scale;
没有它我有 10 fps,有 55 fps !我对 GPU 和合成模型不是很熟悉,所以它到底做了什么我并不完全清楚,但基本上它只在一个位图(而不是每个 subview 一个位图?)中扁平化所有 subview 的渲染。无论如何我不知道它是否有一些缺点,但它的速度要快得多!
关于ios - UICollectionView 性能 - _updateVisibleCellsNow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16336772/
我正在开发一个自定义 UICollectionViewLayout,它显示按天/周/月组织的单元格。 滚动不流畅,看起来延迟是由于在每个渲染循环上调用 [UICollectionView _updat
我正在尝试使用所谓的“自调整单元格”,这意味着: 在 flowLayout 上设置 estimatedItemSize 覆盖单元格类中的preferredLayoutAttributesFitting
我是一名优秀的程序员,十分优秀!