2011-05-17 78 views

回答

2

*新2017年的答案*

儘管這是一個老2011的答案並且準確的時候,「沒有這樣的東西」的舊回答現在已經過時了。

目前,截至2017年,requestAnimationFrame()現在在實踐中廣泛地被同步到刷新週期,所以它現在已經變成了VSYNC回調。

無論何時瀏覽器性能不受限制(例如快速桌面),它在120Hz遊戲顯示器上每秒鐘有120次回調,因此它現在可擴展以監控所有Web瀏覽器的刷新率(除少數例外,如Microsoft IE/Edge 105Hz限制)。

在Chrome中,requestAnimationFrame()的時間參數是VSYNC時間,根據www.vsynctester.com,requestAnimationFrame()的現代實現現在已成爲事實上的VSYNC回調 - 它通常在前一個VSYNC之後回調翻頁,爲下一個刷新週期渲染一個幀(或者窗口合成管理器,就此而言)。

P.S.我現在是W3C Web平臺工作組的受邀專家,目前在修改HTML 5.2 DRAFT 8中提交了一個承諾,闡明rAF()同步以刷新週期。此外,還有一篇文章是爲改進VSYNC API而編寫的,用於HTML 5.2或更高版本:http://www.blurbusters.com/blur-busters-working-on-changes-to-html-5-2/