Presentation of drawables

I am confused by one aspect of Metal and I hope someone can help me out. The documentation says that MTLCommandBuffer.presentDrawable method is a convenience function that sets up a handler which presents the drawable as soon as the buffer is scheduled. However, if I understand this correctly, at this point the commands in the buffer are not yet completed. Doesn't this mean that the presented drawable is not guaranteed to have the 'final' rendered image yet and presentign it might lead to tearing artifacts? Shouldn't it be presented after the buffer is completed rather then just scheduled?

Replies

You should follow the docs on this one and test with your own code on a given device.


If you have issues, consider filing bugs and/or using a support ticket w/DTS in the Member Center to see if they can help you sort them.