[Flightgear-devel] Speed problems under Solaris

2005-10-24 Thread Martin Rosenau

Hello.

Someone said that it is no problem to run FlightGear even on an Ultra-5 
machine.


I run FlightGear on a Blade 1000 with an 750 MHz UltraSparc processor 
(this is equal to a Pentium machine with 2,3 or 3 GHz speed).
The screen refreshes every 8 seconds. Any keyboard input requires 8 
seconds until FlightGear processes the keyboard input.

My Windows machine has 2 GHz of speed and the time is less than one second.

The top tool says that 96% of the processor time is used by fgfs and 
only 1% by Xsun. This shows me that 3D graphics is not the problem 
because the 3D graphics is done by the X server (Xsun - or more 
exactly by the 3D graphics accelerator card).


I thought that sound would be the problem but --disable-sound will not 
enhance the speed.


Another problem is that there is no text in the menu but only some 
random graphics.


Any ideas ?
I need help with that.

Martin



___
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d


Re: [Flightgear-devel] Speed problems under Solaris

2005-10-24 Thread Martin Spott
Martin Rosenau wrote:

 Someone said that it is no problem to run FlightGear even on an Ultra-5 
 machine.

This could have been my statement, but in this form it is incomplete.
I _do_ expect that the CPU of an Ultra5 is sufficient for running
FlightGear _but_ you have to have an appropriate graphics board.
I'd expect that you need something in the XVR-1000 range and I don't
know if that fits into an Ultra5.

 I run FlightGear on a Blade 1000 with an 750 MHz UltraSparc processor 

This should be capable of carrying a graphics board that qualifies.
Which board do you currently use ?

Cheers,
Martin.
-- 
 Unix _IS_ user friendly - it's just selective about who its friends are !
--

___
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d


[Flightgear-devel] Speed problems under Solaris

2005-10-24 Thread Martin Rosenau

I'd expect that you need something in the XVR-1000 range and I don't
know if that fits into an Ultra5.


Hello.

I think it is not only a problem of graphics. Even the network stuff (e.g. 
props at TCP port 5501) has 8 seconds delay.


This should be capable of carrying a graphics board that qualifies.
Which board do you currently use ?


I use an Elite-3D-m6 card.

Thanks.
Martin



___
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d


Re: [Flightgear-devel] Speed problems under Solaris

2005-10-24 Thread Martin Spott
Martin Rosenau wrote:

 I think it is not only a problem of graphics. Even the network stuff
 (e.g. props at TCP port 5501) has 8 seconds delay.

I suspect the network stuff is coupled to the same loop as is the
screen display. Just a guess, though 

 I use an Elite-3D-m6 card.

As far as I remember the Elite doesn't have any texture memory at all. 
Not having texture definitely memory kills FlightGear frame rates since
the shading mode has been removed long time ago.

Cheers,
Martin.
-- 
 Unix _IS_ user friendly - it's just selective about who its friends are !
--

___
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d


Re: [Flightgear-devel] Speed problems under Solaris

2005-10-24 Thread Andy Ross
Martin Spott wrote:
 I suspect the network stuff is coupled to the same loop as is the
 screen display. Just a guess, though 

It is.  Everything except for terrain tile I/O is driven out of the
main loop.  Probably something that should be fixed...

Note that we're going to have to start thinking about threading
designs soon anyway, if we want to take advantage of all the fancy
multi-core/multi-thread CPUs coming down the pipe.  Rendering
obviously has to stay within a single thread, but how much
non-rendering work can we push out to worker threads?  Ideally,
everything would be handed to the renderer thread each frame, with
all the matrices pre-cooked and ready for OpenGL calls.

Andy

___
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d


Re: [Flightgear-devel] Speed problems under Solaris

2005-10-24 Thread Curtis L. Olson

Andy Ross wrote:


Martin Spott wrote:
 


I suspect the network stuff is coupled to the same loop as is the
screen display. Just a guess, though 
   



It is.  Everything except for terrain tile I/O is driven out of the
main loop.  Probably something that should be fixed...

Note that we're going to have to start thinking about threading
designs soon anyway, if we want to take advantage of all the fancy
multi-core/multi-thread CPUs coming down the pipe.  Rendering
obviously has to stay within a single thread, but how much
non-rendering work can we push out to worker threads?  Ideally,
everything would be handed to the renderer thread each frame, with
all the matrices pre-cooked and ready for OpenGL calls.
 



I would like to make a case for non-threading from the standpoint of 
simplicity.  We have had (and probably still have) some extremely subtle 
and extremely difficult to track bugs in our threaded tile loader.


We've been forced to use threading for our tile loader simply because of 
performance reasons.  We can't afford a big stutter in our animation 
when ever we need to load new tiles.


When a single person is writing a smaller threaded app, things can work 
out quite well because one person (who understands all the underlying 
issues) can think through the code very carefully and ensure that all 
possible timing, locking, and communication related events are handled 
robustly.


But now project that onto a project like FlightGear.  Even if one highly 
skilled person set us up with lots of threading that worked perfectly, 
given all the contributions from a variety of sources (many of which I 
know have no clue about threading issues) how long do you think it will 
be before everything is hopelessly fouled up?  Some simple naive 
change to fix some bug or add a new feature could inadvertantly 
introduce a subtle threading bug that only happens very rarely, but is 
still unacceptable.


Personally, I think that the idea of threading in the context of 
FlightGear is a *very* scary idea, especially from the standpoint of 
long term maintanence and keeping our code robust.  I'd perhaps favor 
splitting our code out into separate applications that use networking or 
shared memory or pipes to communicate.  You lose some of the context 
switching efficiency of threads, but I think the code becomes more 
robust and maintanable because changes have less of a chance to 
propagate elsewhere to unintended areas ...


Just my 2 cents ... :-)

Curt.

--
Curtis Olsonhttp://www.flightgear.org/~curt
HumanFIRST Program  http://www.humanfirst.umn.edu/
FlightGear Project  http://www.flightgear.org
Unique text:2f585eeea02e2c79d7b1d8c4963bae2d


___
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d


[Flightgear-devel] Speed problems under Solaris

2005-10-24 Thread Martin Rosenau

Hello.

I found out that for each simulation step an usleep(93 ms) is done.
The screen is updated only every 64 simulation steps.
93 ms X 64 = ~7 seconds

I have no idea why the display is only updated ONLY every 64th 
simulation step.


Textures are not the problem; I can use --disable-textures to get 
single-color triangles if textures are the problem.
But I think that textures are no problem because - as far as I know - 
the texture stuff is done in the X server process which needs only few 
processor time.


Martin


___
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d


Re: [Flightgear-devel] Speed problems under Solaris

2005-10-24 Thread Curtis L. Olson

Martin Rosenau wrote:


Hello.

I found out that for each simulation step an usleep(93 ms) is done.
The screen is updated only every 64 simulation steps.
93 ms X 64 = ~7 seconds

I have no idea why the display is only updated ONLY every 64th 
simulation step.


Textures are not the problem; I can use --disable-textures to get 
single-color triangles if textures are the problem.
But I think that textures are no problem because - as far as I know - 
the texture stuff is done in the X server process which needs only few 
processor time.



This *sounds* like you do not have opengl hardware acceleration on your 
machine.  Even with textures off, FlightGear still uses opengl 
funtionality for it's depth buffer (hidden surface removal), fog, 
lighting, and transforming vertices from world coordinates to screen 
coordinates.  All of this is really slow in software on a general 
purpose cpu which is why dedicated 3d hardware exists.


Regards,

Curt.

--
Curtis Olsonhttp://www.flightgear.org/~curt
HumanFIRST Program  http://www.humanfirst.umn.edu/
FlightGear Project  http://www.flightgear.org
Unique text:2f585eeea02e2c79d7b1d8c4963bae2d


___
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d


Re: [Flightgear-devel] Speed problems under Solaris

2005-10-24 Thread Martin Spott
Curtis L. Olson wrote:

 Personally, I think that the idea of threading in the context of 
 FlightGear is a *very* scary idea, especially from the standpoint of 
 long term maintanence and keeping our code robust.  I'd perhaps favor 
 splitting our code out into separate applications that use networking or 
 shared memory or pipes to communicate.

I suspect more people would jump on this train if we manage to agree on
the idea, that platform independent interfaces were a good thing (TM).
We should 'hijack' this thread to start a discussion about wether it
makes sense simply to take the current network interface protocols as
given and write them down in some sort of an 'official' interface
description.

Cheers,
Martin.
-- 
 Unix _IS_ user friendly - it's just selective about who its friends are !
--

___
Flightgear-devel mailing list
Flightgear-devel@flightgear.org
http://mail.flightgear.org/mailman/listinfo/flightgear-devel
2f585eeea02e2c79d7b1d8c4963bae2d