Closed Bug 1144946 Opened 10 years ago Closed 10 years ago

Delete PreciseRefreshDriverTimerWindowsDwmVsync refresh driver timer

Categories

(Core :: Graphics, defect, P2)

x86_64
All
defect

Tracking

()

RESOLVED FIXED
mozilla43
Tracking Status
firefox43 --- fixed

People

(Reporter: mchang, Assigned: mchang)

References

()

Details

Attachments

(1 file, 1 obsolete file)

Once Silk is enabled on Windows, we no longer need the PreciseRefreshDriverTimerWindowsDwmVsync refresh driver timer (https://dxr.mozilla.org/mozilla-central/source/layout/base/nsRefreshDriver.cpp?from=nsRefreshDriver.cpp&case=true#1). Delete it.
This is a reminder that PreciseRefreshDriverTimer and PreciseRefreshDriverTimerWindowsDwmVsync have a telemetry probe FX_REFRESH_DRIVER_FRAME_DELAY_MS which measures how late the refresh driver is to handle its next timer. Silk replaces the "own timer" code with external timing, but knowing how late the handling is still important. This should probably also do something intelligent in case we completely missed a frame, i.e. the replacement probe should not be limited to 16.7ms (or whatever the vsync interval is).
Blocks: 1133528
Now that Silk is on release (40), start deleting non silk scheduling mechanisms. Try: https://treeherder.mozilla.org/#/jobs?repo=try&revision=8b0db4f24013
(In reply to Avi Halachmi (:avih) from comment #1) > This is a reminder that PreciseRefreshDriverTimer and > PreciseRefreshDriverTimerWindowsDwmVsync have a telemetry probe > FX_REFRESH_DRIVER_FRAME_DELAY_MS which measures how late the refresh driver > is to handle its next timer. > > Silk replaces the "own timer" code with external timing, but knowing how > late the handling is still important. This should probably also do something > intelligent in case we completely missed a frame, i.e. the replacement probe > should not be limited to 16.7ms (or whatever the vsync interval is). Do you want to keep the same telemetry probe FX_REFRESH_DRIVER_FRAME_DELAY_MS or introduce a new one?
Flags: needinfo?(avihpit)
(In reply to Mason Chang [:mchang] from comment #3) > (In reply to Avi Halachmi (:avih) from comment #1) > > This is a reminder that PreciseRefreshDriverTimer and > > PreciseRefreshDriverTimerWindowsDwmVsync have a telemetry probe > > FX_REFRESH_DRIVER_FRAME_DELAY_MS which measures how late the refresh driver > > is to handle its next timer. > > > > Silk replaces the "own timer" code with external timing, but knowing how > > late the handling is still important. This should probably also do something > > intelligent in case we completely missed a frame, i.e. the replacement probe > > should not be limited to 16.7ms (or whatever the vsync interval is). > > Do you want to keep the same telemetry probe > FX_REFRESH_DRIVER_FRAME_DELAY_MS or introduce a new one? Guiding questions: 1. Are there silk/frame-latency probes which you added with Silk? 2. If there are, is any of them with similar meaning (or as similar as silk allows) to the removed probe? If we ended up with no probes for frames-handling latency, and you you think it's possible to add one, then if it has similar semantics to the old probe, then we can reuse its name IMO, but if it means a different-enough thing from the previous probe, then probably a new name would fit better.
Flags: needinfo?(avihpit)
(In reply to Avi Halachmi (:avih) from comment #4) > (In reply to Mason Chang [:mchang] from comment #3) > > (In reply to Avi Halachmi (:avih) from comment #1) > > > This is a reminder that PreciseRefreshDriverTimer and > > > PreciseRefreshDriverTimerWindowsDwmVsync have a telemetry probe > > > FX_REFRESH_DRIVER_FRAME_DELAY_MS which measures how late the refresh driver > > > is to handle its next timer. > > > > > > Silk replaces the "own timer" code with external timing, but knowing how > > > late the handling is still important. This should probably also do something > > > intelligent in case we completely missed a frame, i.e. the replacement probe > > > should not be limited to 16.7ms (or whatever the vsync interval is). > > > > Do you want to keep the same telemetry probe > > FX_REFRESH_DRIVER_FRAME_DELAY_MS or introduce a new one? > > Guiding questions: > 1. Are there silk/frame-latency probes which you added with Silk? No, I didn't. > 2. If there are, is any of them with similar meaning (or as similar as silk > allows) to the removed probe? There are none. > > If we ended up with no probes for frames-handling latency, and you you think > it's possible to add one, then if it has similar semantics to the old probe, > then we can reuse its name IMO, but if it means a different-enough thing > from the previous probe, then probably a new name would fit better. I can add one that has similar semantics. The latency will be when the vsync notification gets dispatched to the main thread and when the refresh driver actually gets to tick.
Comment on attachment 8646513 [details] [diff] [review] PreciseRefreshDriverTimerWindowsDwmVsync refresh driver timer Try looks good from comment 2.
Attachment #8646513 - Flags: review?(roc)
(In reply to Mason Chang [:mchang] from comment #5) > I can add one that has similar semantics. The latency will be when the vsync > notification gets dispatched to the main thread and when the refresh driver > actually gets to tick. Sounds close enough to me too, at which case I think we can keep the original probe name. Thanks.
Keywords: checkin-needed
Carrying r+, rebased patch on master.
Attachment #8646513 - Attachment is obsolete: true
Attachment #8647176 - Flags: review+
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla43
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: