Author Topic: Loki  (Read 46485 times)

0 Members and 1 Guest are viewing this topic.

Offline Raven2001

  • Machina Terra Reborn
  • 211
  • Im not the droid your looking for, move along
You hit the wound there, finally.

since LOD1 should be near identical visually to LOD0, but without all of the little details

Which so far, they arent. At the moment their just the FS retail ones, without any kind of shape optimization, which makes them look bad. Otherwise all this debate couldve been avoided
Yeah, I know you were waiting for a very nice sig, in which I was quoting some very famous scientist or philosopher... guess what?!? I wont indulge you...

Why, you ask? What, do I look like a Shivan to you?!?


Raven is a god.

 

Offline wolf

  • 25
Remember that normal maps aren't easily compressed, since the compression utterly destroys quality in the case of a normal map.  That means most/all normal maps are NOT going to be compressed.
Compressing normal maps should be a runtime option for those who are low on memory, but want fancy effects and don't mind the artifacts.

Quote
That is a complete killer considering the already extremely high memory usage that we already have from textures.  All of the work that can be done to improve memory usage has already been done, there isn't much more that we can get out of it.
Well, no. The animated glow textures currently have 37 frames, that means there are 37 textures used for single animated glow effect. Most of the glows have just 2 key textures (sometimes 4) and the rest of the frames are different blends of the key textures. By using some little scripting that will control blending on the GPU, we can keep only the key textures and throw away all the intermediate textures.

Quote
A normal map is also not the same as any other map since it requires much more processing work to render.  It means per-pixel lighting, and that costs GPU performance
I'd be worried about GPU performance with per pixel lightning on the first geforce, but that's in the past.

Quote
and it also requires more CPU time to compute the tangent space coords for each and every object that gets rendered, every single frame.
Tangent space needs to be computed only once, preferably when the model is exported to freespace's model format.

 

Offline taylor

  • Super SCP/Linux Guru
  • 212
    • http://www.icculus.org/~taylor
Compressing normal maps should be a runtime option for those who are low on memory, but want fancy effects and don't mind the artifacts.
If it's TGA then it will be compressed with -img2dds.  But we aren't going to add another option for it.  If the files are uncompressed DDS then they would be left that way.

Quote
Well, no. The animated glow textures currently have 37 frames, that means there are 37 textures used for single animated glow effect. Most of the glows have just 2 key textures (sometimes 4) and the rest of the frames are different blends of the key textures. By using some little scripting that will control blending on the GPU, we can keep only the key textures and throw away all the intermediate textures.
With shaders perhaps, that that isn't a valid option at the moment and won't be for everyone regardless.  That also only accounts for glows, not for all of the effects which are truely what counts for most of the memory usage.  In the grand scheme of things glow maps aren't that big of a concern.

You currently need a 256-512 meg video card to take full advantage of the new MediaVPs.  That is just sad, and it's only going to get worse as time goes on.  It's been proven time and time again that memory usage can not be managed properly by the community.  If you use shaders to cut down on the number of frames in a glow map, someone will just make that many more animated glow maps and you'll be right back where you started.  There is no win here, regardless of what you do.  We've been through this enough times already to not even bother trying any more.

Quote
I'd be worried about GPU performance with per pixel lightning on the first geforce, but that's in the past.
It's slower than a regular map regardless.  The point was that using a normal map over more polys isn't necessarily going to give you anything.  In fact, it could actually be slower.

Quote
Tangent space needs to be computed only once, preferably when the model is exported to freespace's model format.
Tangent space coords are computed on model load.  But they then have to be converted to UV coords every frame for each vert of every object.  There is going to be a performance hit from that.

 

Offline DaBrain

  • Screensniper
  • Moderator
  • 212
    • Shadows of Lylat board
Quote
You currently need a 256-512 meg video card to take full advantage of the new MediaVPs.  That is just sad, and it's only going to get worse as time goes on.  It's been proven time and time again that memory usage can not be managed properly by the community.  If you use shaders to cut down on the number of frames in a glow map, someone will just make that many more animated glow maps and you'll be right back where you started.  There is no win here, regardless of what you do.  We've been through this enough times already to not even bother trying any more.

Ok... the memory usage is pretty high, but I still think it's ok

The current high-end standard is 512-640 MB gfx ram. Even low-end cards already have 256MB nowdays.
FS2_open never looked bad. It was always close to the more recent games. Even thouh FS2_open still looks great, we've fallen quite a bit behind.
Current-gen games need way faster PCs, than FS2_open, featuring pixel shaders an normal mapping.

One thing why FS2_open still looks nice, are the high-res textures. In texture sharpness, it's superior to Doom3 and imho also to Quake4.
We can advance to normal mapping, and whatever maps needed by some shaders, without having to worry about eh diffuse and the specular maps.

I know normal maps will increase the memory load a lot. Especially if we can't find a good way of compressing them. But if a player has a 128MB gfx card, he can still disable normal mapping.
I doubt the copmuting problem is as bad as the memory one.

Memory is the bottleneck in our case. In that case... we can use more polies, right? I know that will need a tiny bit more ram too, but we still got some room for more here, if the memory usage is the bottleneck anyway.

Aiming for a more high-end audience. What do we have all these nice options to disable things for anyway? And you also don't have to use the advanced effects VP.

What I think is, that we should try to go for a reasonable high visual quality, but also give players the options to optimize the game, so it can be used on older PCs too.

The textures sure aren't too big compared to modern games. Ok, the effects still might beat most current-gen games in memory usage... ;)
(yeah guilty...)
--------------------------------------------------
SoL is looking for a sound effect artist
Please PM me in case you want to apply
---------------------------------
Shadows of Lylat - A Freespace 2 total conversion
(hosted by Game-Warden)
----------------------------------

 

Offline wolf

  • 25
With shaders perhaps, that that isn't a valid option at the moment and won't be for everyone regardless.
This doesn't need shaders, however they would help.

Quote
If you use shaders to cut down on the number of frames in a glow map, someone will just make that many more animated glow maps and you'll be right back where you started.  There is no win here, regardless of what you do.
That's surely a win, because we'll get more animated glow maps :)

Quote
Tangent space coords are computed on model load.  But they then have to be converted to UV coords every frame for each vert of every object.  There is going to be a performance hit from that.
Uhm. To clear things up: tangent and bitangent vectors are calculated once and are used along with the normal vector to create matrix, which is used per vertex to transform light and view vectors to tangent (uv) space.

 

Offline wolf

  • 25
I know normal maps will increase the memory load a lot. Especially if we can't find a good way of compressing them.
High end ati hardware supports 3Dc normal map compression. Nvidia's G70 and better emulate this extensions by transparently using V8U8.

For older hardware, there's some research done at http://developer.nvidia.com/object/bump_map_compression.html, but it probably requires shader support, so that's no go for even older cards, which usually have less gfx memory, which makes things even worse.

 

Offline taylor

  • Super SCP/Linux Guru
  • 212
    • http://www.icculus.org/~taylor
The current high-end standard is 512-640 MB gfx ram. Even low-end cards already have 256MB nowdays.
FS2_open never looked bad. It was always close to the more recent games. Even thouh FS2_open still looks great, we've fallen quite a bit behind.
Current-gen games need way faster PCs, than FS2_open, featuring pixel shaders an normal mapping.
I've got a 128 meg card.  We also have to support hardware which isn't desktop grade, and may only have 128 or 64 meg available.  There simply aren't enough people with cards like that to warrant requiring more than 128meg.  Even Doom3 can work well with 128 meg cards.  You have to turn down the effects detail, but it still works quite well.  Our options in that department are very limited though.  This is also why I use and maintain my own set of MediaVPs, I can tailor them to work well with 128meg cards and not have to sacrifice the things that I care about in the quality department.

But also remember that FSO is an old engine.  We've upgraded parts of it, but only parts.  It still does many things in a horribly inefficient manner, which makes the system requirements go up just as if it were a current-gen engine.  As we add more features those problems only increase and performance will only decrease.  There is only so much upgrading that can be done before it's no longer FreeSpace, and I'll leave the project before we ever get to that point.

Uhm. To clear things up: tangent and bitangent vectors are calculated once and are used along with the normal vector to create matrix, which is used per vertex to transform light and view vectors to tangent (uv) space.
Yeah, I think that's what I said.  I know how it works, I coded support for it. :)

High end ati hardware supports 3Dc normal map compression. Nvidia's G70 and better emulate this extensions by transparently using V8U8.
We aren't going to support 3Dc though, at least not unless NVIDIA adds support for their older hardware as well.  And we probably aren't going to support anything that can't work without shaders.  I've only seen the use of these formats with shaders, which eliminates them as options.  Anything that I can figure out how to use without shaders is what I'll add support for.

 

Offline Raven2001

  • Machina Terra Reborn
  • 211
  • Im not the droid your looking for, move along
Define whats no longer Freespace?
Yeah, I know you were waiting for a very nice sig, in which I was quoting some very famous scientist or philosopher... guess what?!? I wont indulge you...

Why, you ask? What, do I look like a Shivan to you?!?


Raven is a god.

 

Offline DaBrain

  • Screensniper
  • Moderator
  • 212
    • Shadows of Lylat board

I've got a 128 meg card.  We also have to support hardware which isn't desktop grade, and may only have 128 or 64 meg available.  There simply aren't enough people with cards like that to warrant requiring more than 128meg.  Even Doom3 can work well with 128 meg cards.  You have to turn down the effects detail, but it still works quite well.  Our options in that department are very limited though.  This is also why I use and maintain my own set of MediaVPs, I can tailor them to work well with 128meg cards and not have to sacrifice the things that I care about in the quality department.

Very valid point. If we go for ultra quality, most of the players won't be able to use all maps/effects, or have to lower the options, but of course, that might look worse than optimized content for non-high-end PCs.

However... in one or two years many players will probably have updated their PCs already... and can take the maximum quality settings FS2_open offers without any problems. And have the power to do even more, but can't use it.

Imho you can optimize FS2_open very well anyway. I'd start with disabling env mapping (yeah that would be painful for me), then normal mapping and least specular.

And I'd seriously start to forget about the 64 MB gfx card users. I can't improve the FS2 content, without upgrading it.
If they don't have enough memory for the high-end features, they simply can't use them.

There is a limit for textures though. I know there are a lot of textures, that could actully still look good in a smaller version. And other models that use gigantic textures, like the landscape in SoL. But only for now... as I intend to use a detail texture for it, as soon as that is possible.

But also remember that FSO is an old engine.  We've upgraded parts of it, but only parts.  It still does many things in a horribly inefficient manner, which makes the system requirements go up just as if it were a current-gen engine.  As we add more features those problems only increase and performance will only decrease.  There is only so much upgrading that can be done before it's no longer FreeSpace, and I'll leave the project before we ever get to that point.

Sure, FS2 is old. If it was only about the tech, I would probably work on something for a current-gen engine. ;)
Well, even though some things could be faster, I think FS2_open performs very good.  I takes lots of polygons. And using detail boxes, even more.  It worked just fine on my GF 4 TI. Even some of the crazy stuff I made of SoL. ;)
Anyway, I love the technical advance of the engine. As well as the new HTL models.

When there's nothing left of the original engine, I'll probably be gone too.

--------------------------------------------------
SoL is looking for a sound effect artist
Please PM me in case you want to apply
---------------------------------
Shadows of Lylat - A Freespace 2 total conversion
(hosted by Game-Warden)
----------------------------------

 

Offline taylor

  • Super SCP/Linux Guru
  • 212
    • http://www.icculus.org/~taylor
Define whats no longer Freespace?
Working to the point of a completely rewritten engine.  I'm not here to reinvent the wheel.  I'd rather work on Ogre3D, TGE, or something else instead if that was the case.  The goal is basically to upgrade the engine and allow more/better support for mods and TCs.  Yes, that will mean adding normal map support, and shaders, etc.  But features are prioritized on a upgrade basis, or at least the ones from me.  If we scrap the graphics and redo that code to be up-to-par, and also do the same for AI, and physics, etc., then we are technically writing a new engine bit by bit.  It's no longer FreeSpace at that point, regardless of whether it were still "compatible" or not.  The soul would have been ripped out.

I'm not going to work towards making it on par with current generation game engines like Doom3 or the new Unreal engine.  That's too much work, and has already been done (or is being done) in about 3 other open source projects, ones that we could actually get paid to work on.  I haven't spent countless hours and fixed 700+ bugs just to make a new engine.  I'm here because I love what Volition did, and I don't want it to end.  It's not the content that makes FS great, it's the heart, and when that's gone, I will be too.  :)

 

Offline Raven2001

  • Machina Terra Reborn
  • 211
  • Im not the droid your looking for, move along
Well calling the heart of FS the code lying underneath it is a kind of biased opinion now isnt it? :P
Yeah, I know you were waiting for a very nice sig, in which I was quoting some very famous scientist or philosopher... guess what?!? I wont indulge you...

Why, you ask? What, do I look like a Shivan to you?!?


Raven is a god.

 

Offline DaBrain

  • Screensniper
  • Moderator
  • 212
    • Shadows of Lylat board
I haven't spent countless hours and fixed 700+ bugs just to make a new engine.  I'm here because I love what Volition did, and I don't want it to end.  It's not the content that makes FS great, it's the heart, and when that's gone, I will be too.  :)

Agreed. The (new) content keeps is alive and well-known, but isn't the heart of FS2.

I'm not going to work towards making it on par with current generation game engines like Doom3 or the new Unreal engine.

Well... as soon as it has normal mapping and shaders, FS2 will be pretty much on par. Actually, we've reached a 'pretty much everything is possible" state then. It's up to the projects to make good use of the features. (Maybe also to optimize the performance a bit ;) )

And imho, the tools are pretty good. So it's not too hard to create "cool" stuff. ;)
--------------------------------------------------
SoL is looking for a sound effect artist
Please PM me in case you want to apply
---------------------------------
Shadows of Lylat - A Freespace 2 total conversion
(hosted by Game-Warden)
----------------------------------

 

Offline jr2

  • The Mail Man
  • 212
  • It's prounounced jayartoo 0x6A7232
    • Steam
Sure, FS2 is old.

It's not 50 yet, is it?


 

Offline taylor

  • Super SCP/Linux Guru
  • 212
    • http://www.icculus.org/~taylor
Well calling the heart of FS the code lying underneath it is a kind of biased opinion now isnt it? :P
The "heart and soul" being Volition, which is both the code and original campaign/universe.  It's a package deal.  I mean, there are things like the Homeworld 2 FS2 mod, which brings FS2 to Homeworld 2, but it's not FS2.  You can't port FS2 missions to Ogre3D for an engine and still have it be the same thing either.  I work on this project for FS2, not for SoL or BtRL or WCS... for FS2.  It's apparent that the mods like it as well, since if they didn't they would quickly move to another game engine.  But they recognize the "heart", and are willing to take advantage of it to bring that same magic into their own works.

Volition just created this strangely magical mix of fun and turned it into a game.  The fact that we are still here proves that.  It's a phenomenon that's seldomly replicated, and not understand.  It's always risky screwing with something that you don't understand.  :)

 
Wow, you make it sound so much like a relgious experience. That we are on the path to enlightenment and salvation. Amen brother Talor! :D

  
Okay... I just have a little OT question:
taylor said that the geometry code can be a bottle neck.
Well... Since february I have a new Graphics Card. A GeForce 7600 GS. It's WAY faster than my old GF3. Even on my outdated system that could/should be bottlenecking this card.
But in FS2 I have a little fun-mission that starts with four colossus-class ships.
The Colossus really isn't a high-poly model, but the four colossus-ships are enough to drop the Framerate to around 23 FPS.
Other ships that arrive after them (even high-poly ones) are way "FPS-friendlier". The FPS only drops a bit when they arrive.
Is this a FS2-Problem or could it be a combination of problems? Or is it just "normal"?

Oh yeah... Some informations ;)
1. The FPS is the same on OpenGL (Linux, in Windows OpenGL doesn't work anymore because my CPU don't have SSE :( ) and Direct3D (Windows)
2. I only gain a bit of FPS if I disable all FSO-Features. Even using retail-FS-stuff isn't gaining this much (up to MAXIMUM 40 overall-FPS).
3. I don't know anymore how fast the mission was with my old GF3... I think around 18 FPS but I don't know... (EDIT: I looked at "old" Screenshots and it seems that it was 23 FPS without other ships. But new ships and especially effects like beams and explosions did have a much greater FPS-impact)
4. Enabling Anti Aliasing doesn't seem to have any impact on FPS...
« Last Edit: May 04, 2007, 03:44:24 am by Mr_Maniac »

 

Offline Vasudan Admiral

  • Member
  • Moderator
  • 211
    • Twisted Infinities
Under the media VPs, the Colossus model uses six 512 res textures, a 1024 res and two 64 res textures. There are also 90(!) subobjects over the whole thing, and 13 of those turrets use two textures each.

Polywise it only has 1924, so that's not the problem. My guess is that it's the switching between the textures over the main hull and all the subobjects that causes the slowdown. A properly optimised HTL one with good use of detail boxes and textures will almost definitely outperform it. ;)
Get the 2014 Media VPs and report any bugs you find in them to the FSU Mantis so that we may squish them. || Blender to POF model conversion guide
Twisted Infinities

 
Under the media VPs, the Colossus model uses six 512 res textures, a 1024 res and two 64 res textures. There are also 90(!) subobjects over the whole thing, and 13 of those turrets use two textures each.
Wow... That's much... But like I said: Even WITHOUT the MediaVPs it's still "slow" (MAXIMUM 40 FPS if all FSO-Features are turned off as well).

Quote
Polywise it only has 1924, so that's not the problem. My guess is that it's the switching between the textures over the main hull and all the subobjects that causes the slowdown. A properly optimised HTL one with good use of detail boxes and textures will almost definitely outperform it. ;)
Well... Some people began with it, but AFAIK no one ever finished it till now...
Let's hope that it will get better ;)

 

Offline Vasudan Admiral

  • Member
  • Moderator
  • 211
    • Twisted Infinities
I know - I remember when Karma began it ages ago ;) (in fact THE Phreak recently rediscovered it for himself here.)

Also, it wasn't so much the size of the textures I was refering to there as it was the number of them. 9 textures is a lot of switching to do - especially over 90 objects. Neither number has changed between retail and the media VPs, so it's no wonder that it happens with or without them. :\
Get the 2014 Media VPs and report any bugs you find in them to the FSU Mantis so that we may squish them. || Blender to POF model conversion guide
Twisted Infinities

 
Okay... For everyone who wants to look at the fun-mission I mentioned: Here it is!
But beware! Nonsense and a crazy lightshow inside :D

(contents of ZIP: mission-file and two modular tables for the beams)

[attachment deleted by admin]