[Ubuntu 11.04] External cells problems

Everything about development and the OpenMW source code.
Locked
User avatar
lgromanowski
Site Admin
Posts: 1193
Joined: 05 Aug 2011, 22:21
Location: Wroclaw, Poland
Contact:

[Ubuntu 11.04] External cells problems

Post by lgromanowski »

Ghostbird wrote: I managed to compile OpenMW http://openmw.org/forum/viewtopic.php?f=15&t=181
I start in a cavern that I clearly recognise, the console says it's called Beshara. I fly around a bit, not much to do here. I manage to activate the door to the outside. I end up outside.
My FPS is down to 0.5-1.5. Every ~1.5 seconds a new background music track starts.
When I pause the game by bringing up the console with F1, the music plays nicely.

I reckon the FPS problem and music problem are somehow related and that it isn't normal. Also I'm not seeing the terrain, but I think that's because it hasn't been implemented yet, has it?

Output in terminal: (why u no have collapsible spoilers)

Code: Select all

Using global config file: /etc/openmw/openmw.cfg
Using user config file: /home/user/.config/openmw/openmw.cfg
Data directory: /usr/share/games/openmw/data
Adding /usr/share/games/openmw/data/TR_Data.bsa
Adding /usr/share/games/openmw/data/Tribunal.bsa
Adding /usr/share/games/openmw/data/Morrowind.bsa
Adding /usr/share/games/openmw/data/Bloodmoon.bsa
Loading ESM /usr/share/games/openmw/data/Morrowind.esm
Sound output:  OpenAL
Sound decoder: mpg123,sndfile
loading cell 'Beshara'

Press Q/ESC or close window to exit.
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_6.mp3
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: Varasa Dreloth
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: A Worn Cavern Door
Object: Urnel Relas
Object: Urnel Relas
Object: A Worn Cavern Door
Object: Urnel Relas
Object: Urnel Relas
Object: Urnel Relas
Object: Urnel Relas
Object: Urnel Relas
Object: Cavern Door
loading exterior cell '5, -11'
No skeleton for :Bone01
No skeleton for :Bone01
No skeleton for :Bone03
loading exterior cell '5, -10'
loading exterior cell '5, -9'
loading exterior cell '6, -11'
loading exterior cell '6, -10'
loading exterior cell '6, -9'
loading exterior cell '7, -11'
loading exterior cell '7, -10'
loading exterior cell '7, -9'
WARNING: Ignoring reference 'slaughterfish' of unhandled type
WARNING: Ignoring reference 'slaughterfish' of unhandled type
Sound: wind trees7 Chance:5
error line 7, column 34 (GetStartingAngle)
    Unexpected name
error line 7, column 14 (DontSaveObject)
    Unexpected name
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_1.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_6.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_5.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_2.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_3.mp3
Sound: wind calm3 Chance:4
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_4.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_4.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_6.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_3.mp3
Playing /usr/share/games/openmw/data/Music/Explore/Morrowind Title.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_6.mp3
Sound: wind calm4 Chance:4
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_3.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_4.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_5.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_3.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_3.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_3.mp3
Sound: wind calm4 Chance:4
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_6.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_5.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_4.mp3
Playing /usr/share/games/openmw/data/Music/Explore/Morrowind Title.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_6.mp3
Sound: wind calm3 Chance:4
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_2.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_4.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_5.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_2.mp3
Playing /usr/share/games/openmw/data/Music/Explore/Morrowind Title.mp3
Sound: wind trees3 Chance:5
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_7.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_1.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_4.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_3.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_6.mp3
Playing /usr/share/games/openmw/data/Music/Explore/mx_explore_3.mp3
Quitting peacefully.
EDIT: I ran OpenMW at 1680x1050 2xAA. Which is lower than the settings I used for Morrowind on Windows (with MGE). Also with MGE I had distant land animated grass, and everything. Plus MGE renders using DirectX and my Nvidia Quadro card benchmarks far better using OpenGL than using DirectX.
Zini wrote: We have no terrain yet. And unless you pick the latest development version from the repository you don't get any performance optimisations either (we only recently started working on them).
Ghostbird wrote: I understand that there's no terrain, and no optimisations. The constantly shuffling music and the very low FPS indicate that there's something wrong though, more wrong than simply not implemented yet.
Zini wrote: Probably true. But it is the first time that I hear of such problems, which indicates that the problem is on your side. Not sure what to look for. Driver issues maybe? Or something going wrong during the build process?

I can confirm that there are occasional hiccups in the sound system, but they are rare and don't match what you are describing. I haven't bothered yet with trying to track them down.

As for the framerate, to give you a comparison: On my GTX 285 I have a capped fps of 60 (vsync enabled) in pretty much all interiors. With the newest optimisations I get around 50-60 fps in the Vivec area (without them about half of that or slightly less).
Ghostbird wrote: The 0.5 to 1.5 FPS was a rough estimate.
I don't know how to view the actual FPS.
As a comparison between internal and external:
Beshara interior shows slight stuttering when I turn very fast, while running a 2GiB eating minecraft server and a connected minecraft client with maximum view distance in the background.
The world directly outside runs at 0.5-1.5 FPS even when there are no background programs running.
The interior has none of the sound issues that occur in the exterior either.
Zini wrote: Run OpenMW with the --fps switch (use ./openmw --help for more details on the command line options).
Ghostbird wrote: Ok, with the FPS counter the game runs at 50 FPS at the start, then it stabilises at 70-80 FPS.
Once I exit Beshara, the background music starts to switch rapidly and FPS starts at 0 and stabilises at 1 FPS.
Zini wrote: There is a yet unidentified problem with changing cells. Apparently something isn't cleaned up properly, which leads to fps-drops after repeated cell changes. Maybe you are affected especially strong by the problem (still no idea why).

Please run OpenMW with a different start cell (--start option), preferably an exterior cell.
Zini wrote: After some changes to my test setup I am getting the same sound problems for sound effects. This is clearly a bug. Thanks for reporting it.

I added an issue to our bug-tracker: http://bugs.openmw.org/issues/145
Ghostbird wrote: I rebuild OpenMW from a fresh download of the source, without any success. I redirected stderr of the make process to a log file, this is the result:

Code: Select all

/home/user/OpenMW/source/libs/openengine/bullet/BtOgreGP.h: In constructor â??BtOgre::VertexIndexToShape::VertexIndexToShape(const Ogre::Matrix4&)â??:
/home/user/OpenMW/source/libs/openengine/bullet/BtOgreGP.h:70:17: warning: â??BtOgre::VertexIndexToShape::mBoundsâ?? will be initialized after
/home/user/OpenMW/source/libs/openengine/bullet/BtOgreGP.h:69:18: warning:   â??Ogre::Real BtOgre::VertexIndexToShape::mBoundRadiusâ??
/home/user/OpenMW/source/libs/openengine/bullet/BtOgre.cpp:377:2: warning:   when initialized here
/home/user/OpenMW/source/libs/openengine/bullet/BtOgreGP.h:72:23: warning: â??BtOgre::VertexIndexToShape::mBoneIndexâ?? will be initialized after
/home/user/OpenMW/source/libs/openengine/bullet/BtOgreGP.h:67:17: warning:   â??Ogre::Matrix4 BtOgre::VertexIndexToShape::mTransformâ??
/home/user/OpenMW/source/libs/openengine/bullet/BtOgre.cpp:377:2: warning:   when initialized here
/home/user/OpenMW/source/apps/openmw/engine.hpp: In constructor â??OMW::Engine::Engine()â??:
/home/user/OpenMW/source/apps/openmw/engine.hpp:78:41: warning: â??OMW::Engine::mGuiManagerâ?? will be initialized after
/home/user/OpenMW/source/apps/openmw/engine.hpp:63:35: warning:   â??OEngine::Physic::PhysicEngine* OMW::Engine::mPhysicEngineâ??
/home/user/OpenMW/source/apps/openmw/engine.cpp:208:1: warning:   when initialized here
/home/user/OpenMW/source/apps/openmw/mwrender/mwscene.cpp: In member function â??std::pair<std::basic_string<char>, float> MWRender::MWScene::getFacedHandle(MWWorld::World&)â??:
/home/user/OpenMW/source/apps/openmw/mwrender/mwscene.cpp:66:11: warning: unused variable â??distanceâ??
I posted it here, in case it might be useful to someone trying to fix the problem.
Zini wrote: This stuff has already been addressed shortly after the 0.10.0 release. And it is definitely not related to your problem.

I still would like to see what exactly is triggering it. Is it really being in an exterior cell? Or is it going from an interior cell to an exterior cell?
akebono wrote: have same bug in mint9 (ubuntu's son) with --start Vivec. --fps showing 1-2 and music swiching, and 65fps and normal music when i switch to inventory mode, or compile with commented out some bullet mechanics call in 199 line(with corresponding if):
mEnvironment.mWorld->doPhysics (movement, mEnvironment.mFrameDuration);
in openmw/engine.cpp (end of OMW::Engine::frameRenderingQueued body)

then i have 78+ fps, but cant move:), and normal music sequence.
Zini wrote: Strange! I can confirm, that the physics system eats a good sized chunk of the performance. But on my box the difference isn't even remotely that big. I am unsure how to proceed from here.

btw. the sound problem is definitely a separate issue.
swick wrote: just want to say that I have the same issue.
Zini wrote: Okay, let's try to narrow it down. Is it only Vivec? Or other places too? Can we find some kind of pattern? Interiors, exteriors, everywhere, only a few locations? To verify that a place has this issue, run OpenMW fps and open the GUI (press I). If the fps rate climbs by at least an order of magnitude the place shares the issue.

Issue: http://bugs.openmw.org/issues/154
swick wrote: All exterior, no interior cell's I've tried had the problem. FPS is normal when in GUI mode.
K1ll wrote: I've got the same problem with ubuntu 10.04 32 bit and ubuntu 10.10 64 bit.
ObsidianBlk wrote: Putting in my two cents... Ubuntu 10.04 32bit... same issue for me as well. Exterior cells are a virtual stand still while interior cells are perfectly fine.
Zini wrote: @gus: Since this seems to be physics related and you are going to move around the physics implementation during the mwrender-refactoring anyway, could you have a look at this problem?
I think the NPC activation issue currently assigned to you, would be better assigned to jhooks. It might actually sort itself out with the new animation implementation.
jhooks: okay?
ObsidianBlk wrote: I don't know if it's related, but my gut tells me yes...
In the starter cave everything renders fine and flows relatively smoothly. When I go to the exterior my machine crawls (this I said already)...

Just a few moments ago, I was in the Balmora Mages Guild and found movement to be rather sluggish. Leaps and bounds faster than exterior cells, but a marked decreases in comparison to the starting cave.

In my experience, this suggests to me to be a linear slowdown over the number of objects loaded in the overall scene. If it's on the renderer side it feels that it could be every object loaded is being rendered whether in the view or not. If it's on the physic engine side, it feels like every loaded object is being tested almost regardless of distance to player.

I haven't taken too close a look at the renderer or physics, so, I may be just guessing, but it feels like more work is being done than needs to be somewhere.

Just for reference...
I'm running Linux Ubuntu 10.04 32bit on an intel Pentium 4 (single core) 2.4ghz chip with a total system memory of 2gig 800mhz and a GeForce 6800GT AGP video card with 512meg RAM... yes, shes an oooold machine (almost a 8 years if I recall), and even still, I'm running Morrowind (with both expansions and better bodies and heads) nice and smooth via WINE. As such, openMW should have far and away BETTER performance on my computer being natively built then the original Morrowind (via emulation).

Not a criticism given the stage of openMW, just an observation.
gus wrote: Zini: that's OK for me.

ObsidianBlk: bullet should do this kind of optimisation by itself, but maybe the configuration isn't right. I will have a look at it.
Locked