Skip to content

Transfer dynamic data without blocking render? #1121

Answered by robertosfield
Anshi701 asked this question in Q&A
Discussion options

You must be logged in to vote

The design of vsg::TransferTask is meant to ensure that the data is robustly copied to the GPU and available when required, if you drop the synchronization then you can end up consuming data before it's been updated.

The design of TransferTask is also meant for modest amounts of data, it scales pretty well to pretty large amounts of data.

There is also multi-buffering done by TransferTask to ensure updates on the CPU and copied to the GPU data at the correct time, otherwise you can end up with values from the wrong frame being consumed on the GPU.

If you don't want the safety that TransferTask provides then you can implement your own copying of data to the GPU, all the code is there avail…

Replies: 1 comment 3 replies

Comment options

You must be logged in to vote
3 replies
@Anshi701
Comment options

@robertosfield
Comment options

@Anshi701
Comment options

Answer selected by robertosfield
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants