Page MenuHomeWildfire Games

Reorder rendering passes to decrease possible driver sync
ClosedPublic

Authored by vladislavbelov on Jan 7 2020, 1:29 AM.

Details

Reviewers
None
Group Reviewers
Restricted Owners Package(Owns No Changed Paths)
Commits
rP23370: Reorder rendering passes to decrease a possible driver synchronization
Summary

glGet* functions might cause synchronization. It's better to avoid them. during rendering. It's not a powerful optimization, It depends on many things. Locally I got only ~2% for the frame time.

The two main things: the change shouldn't decrease performance and it helps to have a more clear profiler results.

Test Plan
  1. Apply the patch and compile the game
  2. Make sure that the looks like before (with all options: PostProc on/off, FancyWater on/off,

Diff Detail

Repository
rP 0 A.D. Public Repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

vladislavbelov created this revision.Jan 7 2020, 1:29 AM
vladislavbelov added inline comments.
source/renderer/ShadowMap.cpp
602 ↗(On Diff #10905)

This comment is related to the old code (rP3332). Where we have external dependency. Because we were rendering in unknown (for us - as ShadowMap) framebuffer.

Vulcan added a comment.Jan 7 2020, 1:32 AM

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/967/display/redirect

Vulcan added a comment.Jan 7 2020, 1:34 AM

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/63/display/redirect

Vulcan added a comment.Jan 7 2020, 1:35 AM

Successful build - Chance fights ever on the side of the prudent.

Linter detected issues:
Executing section Source...

source/graphics/LOSTexture.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/renderer/PostprocManager.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"

source/renderer/Renderer.cpp
|   1| /*·Copyright·(C)·2019·Wildfire·Games.
|    | [NORMAL] LicenseYearBear:
|    | License should have "2020" year instead of "2019"
Executing section JS...
Executing section cli...

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1485/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/1004/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1522/display/redirect

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/100/display/redirect

This revision was not accepted when it landed; it landed in state Needs Review.Jan 11 2020, 4:25 PM
This revision was automatically updated to reflect the committed changes.