Files
Texture/docs/_docs/synchronous-concurrency.md
Garrett Moon c5f69f0b01 Renames AS_EXTERN and ASViewController (#1876)
* Renames AS_EXTERN and ASViewController

To ASDK_EXTERN and ASDKViewController.
This is to avoid conflicting with AuthenticationServices in
Xcode 12

* Fix up examples and docs

* Add bit about updating ASViewController rename
2020-06-29 12:49:59 -07:00

1.7 KiB
Executable File

title, layout, permalink, prevPage, nextPage
title layout permalink prevPage nextPage
Synchronous Concurrency docs /docs/synchronous-concurrency.html subtree-rasterization.html corner-rounding.html

Both ASDKViewController and ASCellNode have a property called neverShowPlaceholders.

By setting this property to YES, the main thread will be blocked until display has completed for the cell or view controller's view.

Using this option does not eliminate all of the performance advantages of Texture. Normally, a given node has been preloading and is almost done when it reaches the screen, so the blocking time is very short. Even if the rangeTuningParameters are set to 0 this option outperforms UIKit. While the main thread is waiting, all subnode display executes concurrently, thus synchronous concurrency.

See the NSSpain 2015 talk video for a visual walkthrough of this behavior.

SwiftObjective-C
node.neverShowPlaceholders = YES;
node.neverShowPlaceholders = true

Usually, if a cell hasn't finished its display pass before it has reached the screen it will show placeholders until it has drawing its content. Setting this option to YES makes your scrolling node or ASDKViewController act more like UIKit, and in fact makes Texture scrolling visually indistinguishable from UIKit's, except that it's faster.