Actors processing range

Everything about development and the OpenMW source code.
Post Reply
User avatar
akortunov
Posts: 899
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Actors processing range

Post by akortunov »

While decreased values can increase performance a lot, in its current implementation it can cause a broken backward compatibility with mods.

In vanilla Morrowind, AI Processing Range slider seem to affect only combat AI and animations update. It still updates non-combat AI in the 7168 units range. It is especially easy to notice with AiTravel packages.

In theory, we can use a something similar to Morrowind's approach:
1. Add a variable to the AI package which determines if we should to force update in the 7168 range anyway or not.
2. If yes (for AiTravel, and AiFollow, for example), we update NPC anyway (including physics, AI and animations), but do not do a rendering stuff (do not render actor, do not update particles, do not do skinning).
3. If not, (for AiWander, for example) we handle them as we do now.

It should give as a good compromise between performance and backward compatibility.
What do you think?
User avatar
wareya
Posts: 338
Joined: 09 May 2015, 13:07

Re: Actors processing range

Post by wareya »

Makes sense to me, but I don't know much about this.
User avatar
akortunov
Posts: 899
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: Actors processing range

Post by akortunov »

Also it would be nice to have a feedback from Android users. With this approach mods with travellers, caravans or patrols can decrease FPS a lot on a low-end or mobile hardware.
Post Reply