Entendendo a necessidade dos sinais Android VSYNC

Estou tentando entender melhor o subsistema de exibição do Android, mas um item que ainda me deixa confuso é como os sinais VSYNC são tratados e por que tantos existem em primeiro lugar.

O Android foi projetado para usar o VSYNC em sua essência, mas existem vários sinais VSYNC que ele emprega. Através dahttps://source.android.com/devices/graphics/implement.html na seção "VSYNC Offset", há um diagrama de fluxo que diagramas de três sinais VSYNC: HW_VSYNC_0, VSYNC e SF-VSYNC. Entendo que HW_VSYNC é usado para atualizar o tempo no DispSync, e que VSYNC e SF-VSYNC são usados pelos aplicativos e pelo surfaceflinger, mas por que esses sinais individuais são necessários? Além disso, como as compensações afetam esses sinais? Existe um diagrama de tempo disponível em qualquer lugar que explique melhor isso?

Obrigado por qualquer ajuda que você pode oferecer.

questionAnswers(1)

yourAnswerToTheQuestion