Allow ability in the launcher to select DisplayLists or VBO for potential FPS boost.
About:
After downloading a high poly mod I noticed my draw bar increase 100-200% in imperial towns (e.g. Pelagiad), but oddly there was little to no performance hit with the assets in Morrowind.exe. AnyOldName3 suggested I give OSG a rendering hint to use VAO/VBO instead of Display lists with the following environment variable(s).
# Could not find any issues, approximately 200% decrease in draw
OSG_VERTEX_BUFFER_HINT=VERTEX_BUFFER_OBJECT ./openmw
# Seems to be much, much buggier and breaks things like terrain and sky. Also leads to crashes. Approximately 160% decrease in draw
OSG_VERTEX_BUFFER_HINT=VERTEX_ARRAY_OBJECT ./openmw
The performance gain from using VBO was incredible, in the most draw heavy of scenes I was seeing a gain of over 100 FPS.
Because of these results I don't see how we can justify leaving this hidden as an environment variable, I suggest we officially support these rendering modes and make them accessible through the launcher. This would require us to first find any obvious bugs with VBO (and alternately the much buggier VAO) and verify that forcing usage of VBOs has a positive performance impact on more then just my combination of hardware and drivers.
System Info:
Windows 10.0.19043 Intel UHD 730: (drivers v. 30.0.100.9684)
Update: We default to DL because it's the most mature, but VBO is well supported in some instances and we've seen that for some users that we have quite a few FPS to be gained from exposing this to users.
What we need is a radio selection in the launcher with good tooltips explaining what this is. This can't be changed in-game, so no need there.
Stretch: We can expose VAO, but with the caveat of it being experimental and that it can break things.