Re: [Flightgear-devel] 回复: Some ideas for better performance

2012-09-26 Thread Frederic Bouvier
,  are ANSI C files and are part of Microsoft 
compilers for decades. They are in 

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\sys 

Regards, 
-Fred 

- Mail original -

> De: "ChenXu" 
> À: "FlightGear developers discussions"
> 
> Envoyé: Mercredi 26 Septembre 2012 21:46:57
> Objet: [Flightgear-devel] 回复: Some ideas for better performance

> Hi, Sir,

> First, I am sorry for disturbing you with such a question.
> Because I really do not know to which group pf members should I ask
> this question and I urgently need a solution, I just ask anybody in
> the devl
> group. I think this problem should be easy for the persons in this
> group.

> My question is as below:

> I just begin to study Flightgear. I am trying to compile it on Win7+
> VisualStudio2010 environment.
> When I was compiling SimGear, , , etc, are
> required. But I could not find them anywhere in my system.
> (They are natively Linux files.) I tried to download them from the
> Internet, and compiled again. This time, I got too many "
> redefinition"
> compile errors, caused by the declarations in the header files.

> So, what should I do to fix this problem?

> Thanks a lot.

> X.Chen

> 发件人: Renk Thorsten 
> 收件人: FlightGear developers discussions
> 
> 发送日期: 2012年9月19日, 星期三, 上午 3:59
> 主题: [Flightgear-devel] Some ideas for better performance

> Hi All,

> unfortunately, due to personal reasons, I won't have much coding time
> for the rest of the year, which means that I probably won't have a
> chance to do some things I sort of promised to do (make more shaders
> work in the atmospheric light scattering framework, help making
> atmospheric light scattering work in Rembrandt...). If anyone else
> wants to have a go at converting model shaders or the runway shader,
> I can still try to help, but right now I've even started up
> Flightgear just once during the last 4 weeks, so coding is just not
> something I can do.

> Anyway - there are some ideas and observations which I made and where
> I wanted to follow up, and I thought I just put them up here so that
> they may be discussed.

> I'm interested in making the appearance of the scenery more realistic
> with improved light and procedural texturing, i.e. things that end
> up in the shaders. At least on my system, if I run any eye candy
> features, the bottleneck is shaders (I can render a normal scene
> from the ufo without any shader effects with about 200 fps, on the
> other hand rendering urban effect on the whole screen drives me down
> to ~5 fps - I'm sure various statements which have been made on this
> list that our performance would be CPU limited are based on
> something, it's just nothing I am able to experience on my system,
> on my system it's shaders, more specifically fragment shader). So,
> that's what I would like to address - making Flightgear faster while
> expensive shaders are on.

> My general understanding of the situation

> There's a tendency for all the high quality eye candy to end up in
> the fragment shaders - see urban effect, water sine wave shader or
> my procedural texturing. In some sense that's good, because that
> decouples performance from the visibility range (since the number of
> pixels doesn't change), but it may also be bad if that constant
> performance is too low. I don't know how it is for others, but when
> I switch urban effect on, it relies on not too many patches of urban
> terrain in my field of view - if ~1/5 of the scene is urban, I still
> get decent performance, but if all I see is urban it becomes
> unusable and single digit experience. I guess there's part of the
> reason Stuart spent so much time on random buildings... My point
> being, something like the urban effect doesn't really generalize, we
> can't put expensive stuff all into the fragment shader if we can
> anticipate that it will fill a lot of the scene.

> Shuffling some load into the vertex shader helps a lot in the near
> zone (where a triangle has many pixels, and they're all filled based
> on three expensive operations at the corners) but loses out at the
> far edge of the visual range (where several vertices may fall into a
> single pixel). At least on my system, some things only run with
> usable speed (provided the visibility doesn't exceed a limit)
> because there's load in the vertex shader, so there's virtue in
> making the vertex shader do stuff.

> My understanding of Rembrandt is that essentially all operations go
> to the fragment stage since geometry is rendered in one initial pass
> and then buffered. If the situation is fragment-shader limited in
> the default sche

[Flightgear-devel] 回复: Some ideas for better performance

2012-09-26 Thread ChenXu
Hi, Sir,
 
First, I am sorry for disturbing you with such a question. 
Because I really do not know to which group pf members should I ask this 
question and I urgently need a solution, I just ask anybody in the devl
group. I think this problem should be easy for the persons in this group.
 
My question is as below:
 
I just begin to study Flightgear. I am trying to compile it on Win7+ 
VisualStudio2010  environment. 
When I was compiling SimGear, , , etc, are required. 
But I could not find them anywhere in my system.
(They are natively Linux files.) I tried to download them from the Internet, 
and compiled again. This time, I got too many " redefinition"
compile errors, caused by the declarations in the header files.
 
So, what should I do to fix this problem?
 
Thanks a lot.
 
X.Chen
 


 发件人: Renk Thorsten 
收件人: FlightGear developers discussions  
发送日期: 2012年9月19日, 星期三, 上午 3:59
主题: [Flightgear-devel] Some ideas for better performance
  

Hi All,

unfortunately, due to personal reasons, I won't have much coding time for the 
rest of the year, which means that I probably won't have a chance to do some 
things I sort of promised to do (make more shaders work in the atmospheric 
light scattering framework, help making atmospheric light scattering work in 
Rembrandt...). If anyone else wants to have a go at converting model shaders or 
the runway shader, I can still try to help, but right now I've even started up 
Flightgear just once during the last 4 weeks, so coding is just not something I 
can do.

Anyway - there are some ideas and observations which I made and where I wanted 
to follow up, and I thought I just put them up here so that they may be 
discussed.

I'm interested in making the appearance of the scenery more realistic with 
improved light and procedural texturing, i.e. things that end up in the 
shaders. At least on my system, if I run any eye candy features, the bottleneck 
is shaders (I can render a normal scene from the ufo  without any shader 
effects with about 200 fps, on the other hand rendering urban effect on the 
whole screen drives me down to ~5 fps - I'm sure various statements which have 
been made on this list that our performance would be CPU limited are based on 
something, it's just nothing I am able to experience on my system, on my system 
it's shaders, more specifically fragment shader). So, that's what I would like 
to address - making Flightgear faster while expensive shaders are on.

My general understanding of the situation

There's a tendency for all the high quality eye candy to end up in the fragment 
shaders - see urban effect, water sine wave shader or my procedural texturing. 
In some sense that's good, because that decouples performance from the 
visibility range (since the number of pixels doesn't change), but it may also 
be bad if that constant performance is too low. I don't know how it is for 
others, but when I switch urban effect on, it relies on not too many patches of 
urban terrain in my field of view - if ~1/5 of the scene is urban, I still get 
decent performance, but if all I see is urban it becomes unusable and single 
digit experience. I guess there's part of the reason Stuart spent so much time 
on random buildings... My point being, something like the urban effect doesn't 
really generalize, we can't put expensive stuff all into the fragment shader if 
we can anticipate that it will fill a lot of the scene.

Shuffling some load into the vertex shader helps a lot in the near zone (where 
a triangle has many pixels, and they're all filled based on three expensive 
operations at the corners) but loses out at the far edge of the visual range 
(where several vertices may fall into a single pixel). At least on my system, 
some things only run with usable speed (provided the visibility doesn't exceed 
a limit) because there's load in the vertex shader, so there's virtue in making 
the vertex shader do stuff.

My understanding of Rembrandt is that essentially all operations go to the 
fragment stage since geometry is rendered in one initial pass and then 
buffered. If the situation is fragment-shader limited in the default scheme, my 
guess is that it will be even worse fragment-shader limited in deferred 
rendering. But admittedly what I have to say about deferred rendering is a bit 
guesswork.

Clouds are a bit of an unrelated topic, as they can be very heavy on the vertex 
shader (all the billboard rotations need to be computed...).

So, ideally I'd like to

* make use of the speedup vertex shading operations can provide in the near 
zone without buying into their disadvantages in the far zone
* speed the fragment shaders up as much as possible

Schemes to speed things up vertex shading (and what doesn't work)

The obvious solution to speed up a vertex shader is to drop/pass through 
vertices, or to reduce the number of vertices up front. I understand none of 
this is much of an issue for Rembrandt where the geomet