mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
Improve Handling of Rasterized Node Interface & Hierarchy States (#2731)
* Improve handling of rasterize node interface states and testing * Fix harder * Finish fixes and move rasterization flag into beta header * Re-enable rasterization in ASDKgram * Re-enable working test * Only do it in debug
This commit is contained in:
@@ -416,28 +416,6 @@ extern NSInteger const ASDefaultDrawingPriority;
|
||||
*/
|
||||
@property (nonatomic, assign) BOOL displaysAsynchronously;
|
||||
|
||||
/**
|
||||
* @abstract Whether to draw all descendant nodes' layers/views into this node's layer/view's backing store.
|
||||
*
|
||||
* @discussion
|
||||
* When set to YES, causes all descendant nodes' layers/views to be drawn directly into this node's layer/view's backing
|
||||
* store. Defaults to NO.
|
||||
*
|
||||
* If a node's descendants are static (never animated or never change attributes after creation) then that node is a
|
||||
* good candidate for rasterization. Rasterizing descendants has two main benefits:
|
||||
* 1) Backing stores for descendant layers are not created. Instead the layers are drawn directly into the rasterized
|
||||
* container. This can save a great deal of memory.
|
||||
* 2) Since the entire subtree is drawn into one backing store, compositing and blending are eliminated in that subtree
|
||||
* which can help improve animation/scrolling/etc performance.
|
||||
*
|
||||
* Rasterization does not currently support descendants with transform, sublayerTransform, or alpha. Those properties
|
||||
* will be ignored when rasterizing descendants.
|
||||
*
|
||||
* Note: this has nothing to do with -[CALayer shouldRasterize], which doesn't work with ASDisplayNode's asynchronous
|
||||
* rendering model.
|
||||
*/
|
||||
@property (nonatomic, assign) BOOL shouldRasterizeDescendants;
|
||||
|
||||
/**
|
||||
* @abstract Prevent the node's layer from displaying.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user