Я пытаюсь лучше понять подсистему отображения Android, но один элемент, который все еще запутывает меня, - это то, как обрабатываются сигналы VSYNC, и почему так много существует в первую очередь.
Android предназначен для использования VSYNC по своему ядру, но есть несколько сигналов VSYNC, которые он использует. Через https://source.android.com/devices/graphics/implement.html в разделе "Смещение VSYNC" имеется блок-схема, которая отображает три сигнала VSYNC: HW_VSYNC_0, VSYNC и SF-VSYNC. Я понимаю, что HW_VSYNC используется для обновления времени в DispSync и что VSYNC и SF-VSYNC используются приложениями и поверхностным фильтром, но почему эти отдельные сигналы необходимы вообще? Кроме того, как смещения влияют на эти сигналы? Есть ли временная диаграмма в любом месте, что лучше объясняет это?
Спасибо за любую помощь, которую вы можете предложить.