-
Notifications
You must be signed in to change notification settings - Fork 295
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tweaks to performance testing framework. #1200
Merged
Merged
Changes from all commits
Commits
Show all changes
23 commits
Select commit
Hold shift + click to select a range
bbd61c0
Tweaks to performance testing framework.
kring 7614bb3
Add logic to start / end play session
csciguy8 4dd0060
Unfreeze updates when test ends, so we can see something
csciguy8 b9f594f
Update ion token for test (sync with default in samples project)
csciguy8 9c9ef24
Refactor scene setup code into separate files
csciguy8 b642e17
Add missing control path
csciguy8 291ac14
Rework tick logic to use latent commands
csciguy8 2fff0b4
Let tests define separable passes for setup / verification
csciguy8 9942bab
Remove extraneous include
csciguy8 7562b49
Add missing ifdef to fix non-Windows50 builds
csciguy8 98397dd
Merge branch 'simple-performance-test' into performance-test-tweaks
csciguy8 d92e84f
Fix non-unity build (broke this again, oops)
csciguy8 61feff1
Add cold / warm cache tests + test names to logging marks
csciguy8 a6a353b
Add runtime access to cache database. Let load tests reset cache for …
csciguy8 b1f22d8
Move clear db cache step to initial test setup
csciguy8 7a8b725
Fix formatting
csciguy8 e73fee9
Add trace events before calling updateView, updateViewOffline
csciguy8 fb130b1
Add wait before exiting play mode
csciguy8 4366558
Merge branch 'simple-performance-test' into performance-test-tweaks
csciguy8 7c93ae0
Update to renamed georeference functions
csciguy8 a3fd233
Update test to Cesium.Unit.X namespace
csciguy8 748e19a
Disable world bounds checks for test world
csciguy8 741e9a0
Merge branch 'simple-performance-test' into performance-test-tweaks
csciguy8 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -883,6 +883,12 @@ void ACesium3DTileset::UpdateLoadStatus() { | |
|
||
this->LoadProgress = this->_pTileset->computeLoadProgress(); | ||
|
||
// If we have tiles to hide next frame, we haven't completely finished loading | ||
// yet. We need to tick once more | ||
if (!this->_tilesToHideNextFrame.empty()) { | ||
this->LoadProgress = glm::min(this->LoadProgress, 99.9999f); | ||
} | ||
|
||
if (this->LoadProgress < 100 || | ||
this->_lastTilesWaitingForOcclusionResults > 0) { | ||
this->_activeLoading = true; | ||
|
@@ -2028,12 +2034,15 @@ void ACesium3DTileset::Tick(float DeltaTime) { | |
CreateViewStateFromViewParameters(camera, unrealWorldToCesiumTileset)); | ||
} | ||
|
||
const Cesium3DTilesSelection::ViewUpdateResult& result = | ||
this->_captureMovieMode | ||
? this->_pTileset->updateViewOffline(frustums) | ||
: this->_pTileset->updateView(frustums, DeltaTime); | ||
Cesium3DTilesSelection::ViewUpdateResult result; | ||
if (this->_captureMovieMode) { | ||
TRACE_CPUPROFILER_EVENT_SCOPE(Cesium::updateViewOffline) | ||
result = this->_pTileset->updateViewOffline(frustums); | ||
} else { | ||
TRACE_CPUPROFILER_EVENT_SCOPE(Cesium::updateView) | ||
result = this->_pTileset->updateView(frustums, DeltaTime); | ||
} | ||
updateLastViewUpdateResultState(result); | ||
this->UpdateLoadStatus(); | ||
|
||
removeCollisionForTiles(result.tilesFadingOut); | ||
|
||
|
@@ -2066,6 +2075,8 @@ void ACesium3DTileset::Tick(float DeltaTime) { | |
updateTileFade(pTile, false); | ||
} | ||
} | ||
|
||
this->UpdateLoadStatus(); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This needs to be moved later, after |
||
} | ||
|
||
void ACesium3DTileset::EndPlay(const EEndPlayReason::Type EndPlayReason) { | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because tile hides are always delayed by one frame, it was possible before for the performance test to end (and suspend further updates) with tiles of multiple LODs visible simultaneously. This change makes it so that loading isn't 100% complete until these tiles have been hidden.