mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-20 07:17:32 +09:00
Issue #21 - Remove panning/tab animation performance measurements
Based on FranklinDM's follow-up for the issue. This would require browser FE changes, particularly removing the associated code in `tabbrowser.xml`, however, that was already done in Pale Moon previously. Other front-end applications may need to take note, though. Based on changes from the following bugs: * Bug 696398 - Need an api to analyze panning performance * Bug 800031 - Include paint time in tab switch telemetry * Bug 820167 - Enable performance measurement of tab animation * Bug 826383 - Improve Start/Stop FrameTimeRecording for telemetry usage
This commit is contained in:
parent
1ae5f60a1b
commit
2e944692c3
14 changed files with 1 additions and 344 deletions
|
|
@ -586,36 +586,6 @@ public:
|
|||
*/
|
||||
void LogSelf(const char* aPrefix="");
|
||||
|
||||
/**
|
||||
* Record (and return) frame-intervals and paint-times for frames which were presented
|
||||
* between calling StartFrameTimeRecording and StopFrameTimeRecording.
|
||||
*
|
||||
* - Uses a cyclic buffer and serves concurrent consumers, so if Stop is called too late
|
||||
* (elements were overwritten since Start), result is considered invalid and hence empty.
|
||||
* - Buffer is capable of holding 10 seconds @ 60fps (or more if frames were less frequent).
|
||||
* Can be changed (up to 1 hour) via pref: toolkit.framesRecording.bufferSize.
|
||||
* - Note: the first frame-interval may be longer than expected because last frame
|
||||
* might have been presented some time before calling StartFrameTimeRecording.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Returns a handle which represents current recording start position.
|
||||
*/
|
||||
virtual uint32_t StartFrameTimeRecording(int32_t aBufferSize);
|
||||
|
||||
/**
|
||||
* Clears, then populates aFrameIntervals with the recorded frame timing
|
||||
* data. The array will be empty if data was overwritten since
|
||||
* aStartIndex was obtained.
|
||||
*/
|
||||
virtual void StopFrameTimeRecording(uint32_t aStartIndex,
|
||||
nsTArray<float>& aFrameIntervals);
|
||||
|
||||
void RecordFrame();
|
||||
void PostPresent();
|
||||
|
||||
void BeginTabSwitch();
|
||||
|
||||
static bool IsLogEnabled();
|
||||
static mozilla::LogModule* GetLog();
|
||||
|
||||
|
|
@ -686,27 +656,6 @@ protected:
|
|||
TimeStamp mAnimationReadyTime;
|
||||
// The count of pixels that were painted in the current transaction.
|
||||
uint32_t mPaintedPixelCount;
|
||||
private:
|
||||
struct FramesTimingRecording
|
||||
{
|
||||
// Stores state and data for frame intervals and paint times recording.
|
||||
// see LayerManager::StartFrameTimeRecording() at Layers.cpp for more details.
|
||||
FramesTimingRecording()
|
||||
: mNextIndex(0)
|
||||
, mLatestStartIndex(0)
|
||||
, mCurrentRunStartIndex(0)
|
||||
, mIsPaused(true)
|
||||
{}
|
||||
nsTArray<float> mIntervals;
|
||||
TimeStamp mLastFrameTime;
|
||||
uint32_t mNextIndex;
|
||||
uint32_t mLatestStartIndex;
|
||||
uint32_t mCurrentRunStartIndex;
|
||||
bool mIsPaused;
|
||||
};
|
||||
FramesTimingRecording mRecording;
|
||||
|
||||
TimeStamp mTabSwitchStart;
|
||||
|
||||
public:
|
||||
/*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue