Setting CAMetalLayer's displaySyncEnabled to FALSE will cause load on InterruptEventSourceBridge thread in kernel_task

I have a test application that draws a large number of simple textured polygons (sprites).

Setting CAMetalLayer's displaySyncEnabled to FALSE will cause load on InterruptEventSourceBridge thread in kernel_task.

In this case, nanosleep() is used to adjust the amount of METAL commands per unit time so that they are approximately the same.

This appears to be a drawing-related thread, but there is no overhead when displaySyncEnabled is TRUE.

What are these differences?

A specific application is the SDL test program, SDL/test/testsprite.c.

https://github.com/libsdl-org/SDL/issues/10475

I made a double post.

Please post your reply in the newer thread.

To moderators: please delete this if there are no other replies.

Setting CAMetalLayer's displaySyncEnabled to FALSE will cause load on InterruptEventSourceBridge thread in kernel_task
 
 
Q