Skip to content

Conversation

@moosichu
Copy link
Contributor

This branch and PR are for allowing people to expriment with moving compute tasks to the async compute queue. We will need to properly profile the branch to analyze what the performance gains are (if any). If all goes well these things will eventually be merged into master.

@moosichu
Copy link
Contributor Author

Reading the Unity documentation, we don't need to check if async compute queues are supported because:
https://docs.unity3d.com/ScriptReference/Graphics.ExecuteCommandBufferAsync.html

If the target platform does not support async compute queues then the work is dispatched on the graphics queue.

However, apparently:
https://docs.unity3d.com/ScriptReference/SystemInfo-supportsAsyncCompute.html

Note that asynchronous compute queues are only supported on PS4.

This may be out of date, but we will need to do some more investigation, if this is true the benefits of async compute queues are likely to be limited.

@moosichu
Copy link
Contributor Author

Yes, so it turns out that the Unity documentation is out of date, reading this here:
https://forum.unity.com/threads/async-compute-support-for-more-platforms.583540/
However, it is only supported on DX 12:

 It definitely is DX12 only though. You can call the async APIs on DX11, but they'll fall back to just using the graphics queue. 

DX12 support is still classed as experimental in Unity 2019.1, cannot find information on it becoming stable in a given Unity release yet.

@moosichu
Copy link
Contributor Author

moosichu commented Jun 23, 2019

SystemInfo.supportsAsyncCompute returns false for me in DX12 and Vulkan in Unity on Windows, but then, sighs I get other log messages telling me that things are running asynchronously seperately. So, who knows what is going on there.

Found https://docs.google.com/document/d/1lMk6myULfwnMlxgb_V1FHA8zpQd_NIqe9ItbQRBw6GA/mobilebasic

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants