-
Notifications
You must be signed in to change notification settings - Fork 933
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
improves paging preloader #3126
Conversation
I'm not an expert on our preloading system by any means, so I can't review that aspect, but I see quite a few places with some questionable whitespace deicisions. |
I removed the reference to |
This has broken enable/disable commands in active grid. |
@glassmancody somehow I have failed to recreate your instructions, but I have noticed a potential issue in my changes. They might interfere with an optimisation that was not well documented. Could you please give https://github.com/bosvensson1/openmw/tree/patch-57 a try? |
@glassmancody I had already noticed "Particle offset incorrect in character preview". Such an issue may have been caused by my first PR to Open MW. My latest PR #3183 should resolve such particle issues as a side effect. |
Splendid, I tried both out and they both fix their respective issues 😄 |
@bosvensson1 is https://github.com/bosvensson1/openmw/tree/patch-57 in a PR anywhere? |
@glassmancody I have a question concerning your |
@bosvensson1 Good idea, I've just pushed new change to get rid of object shaders path. |
I should say, we really need a better way to communicate about specific issues. Poor paging preloader is getting overloaded with a bunch of unrelated information. |
Unfortunately, new workaround from this PR does not work, so pop-ins are back again. |
Currently, Open MW's paging preloader uses an inflexible strategy based around predicted player movement one second into the future. Relying solely on this predicted movement leads to cache misses when the player's movement vector changes unexpectedly. Further, the possible discrepancy between a player's position versus the camera's position is not accounted for. Last but not least, major issues arise with large object paging chunks in the distance that we are unable to prepare within the allotted time.
This PR proposes a more flexible strategy allowing us to preload chunks in all directions.
Summary of changes:
LodCallback
.chunkmanager.cpp
by trying to reuse data from an existing similar chunk of differinglodFlags
.storeViews
. This approach provided negligible benefits and caused several issues such as groundcover pop-in noticed by @akortunov. Removes the previously used workaround for groundcover pop-in.cellpreloader.cpp
.Requesting review from @elsid who provided excellent feedback on my last PR related to preloading.