Distant Statics Placeholder

Feedback on past, current, and future development.
ModdingOpenMWdotcom
Posts: 29
Joined: 12 Jul 2018, 04:25
Contact:

Re: Distant Statics Placeholder

Post by ModdingOpenMWdotcom » 09 Mar 2019, 16:44

akortunov wrote:
06 Jan 2019, 10:58
Some additional test results:
1. There are deadlocks in the navmesh system (in master too, but less frequent).
Nice work on this, it looks so great and has a very marginal impact on performance even at 5-6 cells. I am seeing these deadlocks, though, especially in parts of Sheogorath and Ascadian Isles. Certain areas seem to make it happen each time I walk by (the game freezes; music keeps playing, but nothing happens.)

Is this data you are interested in? That is, where I'm seeing the deadlocks and etc.

User avatar
akortunov
Posts: 614
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: Distant Statics Placeholder

Post by akortunov » 10 Mar 2019, 10:30

kust wrote:
02 Mar 2019, 05:04
The true impostors LOD technique is very interesting and seems perfect for an open world engine like OpenMW.
https://developer.nvidia.com/gpugems/GP ... _ch21.html
The "replace 3D-object by 2D-billboard" idea is not new and has a lot of limitations. I tried to use an Impostor class from OSG and got such results:
Screenshot_20190310_130816.png
Screenshot_20190310_130816.png (744.88 KiB) Viewed 1494 times
Results with blunt direct geometry rendering:
Screenshot_20190310_131009.png
Screenshot_20190310_131009.png (755.63 KiB) Viewed 1494 times
Current issues:
1. It seems it does not handle alpha level well
2. It does not work well for objects which are partly in other objects (e.g. large stones or Vivec cantons).
3. Allows to decrease GPU loading a lot, but increases CPU loading.
4. There are weird freezes during player's movement (we need to redraw impostors when player moves).

Maybe I just do not handle impostors properly, though.

User avatar
akortunov
Posts: 614
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: Distant Statics Placeholder

Post by akortunov » 10 Mar 2019, 14:34

Use a bit different approach now - do not load distant objects with bounding spheres lesser than given diameter rather than using "small feature culling" for individual nodes.

CMAugust
Posts: 174
Joined: 10 Jan 2016, 00:13

Re: Distant Statics Placeholder

Post by CMAugust » 10 Mar 2019, 23:39

That sounds like it should be better for performance. Is there a way to measure the difference?

And would it be possible to extend this to allowing multiple bounding sizes for distant cells, eg. only the very largest objects would be rendered beyond five cells away?

User avatar
akortunov
Posts: 614
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: Distant Statics Placeholder

Post by akortunov » 11 Mar 2019, 05:01

It seems deadlocks are fixed.

ModdingOpenMWdotcom
Posts: 29
Joined: 12 Jul 2018, 04:25
Contact:

Re: Distant Statics Placeholder

Post by ModdingOpenMWdotcom » 14 Mar 2019, 15:23

akortunov wrote:
11 Mar 2019, 05:01
It seems deadlocks are fixed.
I rebased your branch with upstream's master and haven't seen one yet.

fredzio
Posts: 4
Joined: 12 Apr 2019, 05:56

Re: Distant Statics Placeholder

Post by fredzio » 11 May 2019, 07:56

ModdingOpenMWdotcom wrote:
14 Mar 2019, 15:23
akortunov wrote:
11 Mar 2019, 05:01
It seems deadlocks are fixed.
I rebased your branch with upstream's master and haven't seen one yet.
Same here, have been playing with that since roughly 1 month without issue. Why don't you make a PR?

User avatar
akortunov
Posts: 614
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: Distant Statics Placeholder

Post by akortunov » 11 May 2019, 08:28

fredzio wrote:
11 May 2019, 07:56
Why don't you make a PR?
Because this branch is just a proof of concept to measure the FPS.
I have no skills to impelement this feature in the mergable way.
For example, our current preloading implementation was not designed for this feature and works in suboptimal way here, also there are some data races and hacks.

Post Reply