Skip to content

Conversation

@garrettmoon
Copy link
Member

It improves image download and rendering time by about 2% on our surfaces when the main thread is under heavy load.

It improves image download and rendering time by about 2% on our surfaces
when the main thread is under heavy load.
@garrettmoon garrettmoon force-pushed the launchNetworkBackgroundQueue branch from c4b6a62 to e56dd7b Compare June 7, 2018 18:34
@ghost
Copy link

ghost commented Jun 7, 2018

🚫 CI failed with log

@ghost
Copy link

ghost commented Jun 7, 2018

🚫 CI failed with log

@ghost
Copy link

ghost commented Jun 7, 2018

1 Warning
⚠️ Any source code changes should have an entry in CHANGELOG.md or have #trivial in their title.

Generated by 🚫 Danger

@ghost
Copy link

ghost commented Jun 7, 2018

🚫 CI failed with log

Copy link
Member

@nguyenhuy nguyenhuy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

Copy link
Contributor

@maicki maicki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not pretty sure about dispatching to a global queue. As we saw in the past this can easily result in over committing and thread explosion. I would be in favor to start a new experiment to use a dedicated serial queue callback queue (like NSURLSession callback does for example) to prevent this and see how the performance results are for this. Furthermore this would give us more control about qos / priorities.

Copy link
Member

@Adlai-Holler Adlai-Holler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Michael's right – if we dispatch to a global queue, it's actually possible to get progress images out of order.

A serial queue, or pool of serial queues where we pick one for each node, would be better.

@garrettmoon
Copy link
Member Author

I'm going to close this, I don't remember why this got opened in the first place as this was essentially merged separately: #1369

I think you all are right though that these callbacks should be dispatched on a serial queue…

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants