Jump to content

Home

How Do You raise fps


stride

Recommended Posts

Raven's engine is obsolete and has serious efficiency problems handling more complex scenes like these with 30k+ triangles per sec. There're maps when I had 50k+ but were working very slowly even if I have a good hardware.

 

The most basic thing you should do and the most important one before starting the map is to draw it on paper and see if it works. A lot of things cannot be made for this game and you must accept it, you cannot have the Battle of Hoth map like the one from Battlefield 1942 mod because the JKA engine will not handle it.

 

- draw you map and optimize on paper before working in radiant (+++)

- carefully select effect files – especially these for steams, smokes and clouds. (+/-)

- don't spawn too many NPC's in one place (if it's SP). (+)

- use misc_models instead of brushes (-)

- caulk invisible surfaces (-)

- don't use light styles or switchable lights (+/-)

- don't use complex shaders (-)

- don't use too low _lightmapscale values. (-)

- use low-res textures instead of hi-res (-)

- use hints or hints* to optimize vis (+)

- use foghull if you can (+)

- turn off r_dynamicglow (or dynamic glow) (+++)

- try to lower you video settings in the game menu. (+)

- use vertex lighted shaders (-)

Link to comment
Share on other sites

Originally posted by stride

omg omg omg. Thank you mergatroid. I have 60 fps diff in some areas lol. This helped a lot. :)

 

It's the best and least complicated way I know of to get the desired FPS.

 

Oh and good luck with your map(I've seen the battle of Hoth screens, go for it! It' got lots of potential).

Link to comment
Share on other sites

I works differently for the later versions of q3map2.

 

basically you have to have the areaportal covered in the skip shader, with only 1 side covered in the areaportal shader.

 

the areaportal "face" should then be buried exactly in the centre of the door (looking down from the top view). make sure the door frames are structural, or at least have structural brushes on the sides and the top of where the door is.

 

Also, the areaportal brush should only fill the doorway - the old method involved the brush being bigger than the doorway - this will not work anymore.

 

hope this helps

Link to comment
Share on other sites

Originally posted by zag

maybe this should be stickyed i mean fps is a big issue for most mappers and not really something that can be solved with a simple command or something

 

Like the chief of Industrial Light & Magic used to say: “no matter what skills you have the most important thing is if you can draw”. If you can, draw you map prior to make it in an editor and you won't have any serious performance issues later. That's why the professionals do it. In my opinion this is the “simple command” that always works.

Link to comment
Share on other sites

Originally posted by Codja X

basically you have to have the areaportal covered in the skip shader, with only 1 side covered in the areaportal shader.

 

the areaportal "face" should then be buried exactly in the centre of the door (looking down from the top view). make sure the door frames are structural, or at least have structural brushes on the sides and the top of where the door is.

 

Also, the areaportal brush should only fill the doorway - the old method involved the brush being bigger than the doorway - this will not work anymore.

 

So, I build my door right? Say it's a door that's going to go to the right. The door and the frame are structural. BUT my wall is actually three brushes, two are leaving a gap for the door to slide into when it's opened, and one covers up said gap.

 

I build a brush in the middle of the door - the same width, same height, but not the same depth. The brush is then covered in system/skip and then the "face" that marks the middle is covered in areaportal.

 

Will this work, given that my wall isn't "solid"?

 

This topic is beginning to bug me as I've followed everything so far and it doesn't seem to have worked. In the meantime I'll try and follow Codja's advice and see if I can make a success of it :) Thanks Codja :)

 

[edit] oh by the way, the door is bi-directional (i.e. you can go through it in both directions :p) which is one reason I'm wondering if this will work, given the areaportal "face" cannot face in two directions :lol:.

Link to comment
Share on other sites

An areaportal creates a dynamic split between two areas (groups of BSP leafs). It's dynamic because when the door is open the engine renders leafs from both areas and when the door is closed it renders only one. There's no matter if you use the skip or not because the area portal always works. If you don't use the skip shader you will create two dynamic splits instead of one and additional portal between them but it does not make any difference for the renderer. There's however a disadvantage of using areaportals - especially in SP - and the reason for the skip shader.

When you're

- inside of areaportal (no skip used) or

- touch (skip) the surface of an areaportal,

all the entities in the line of sight will disappear - it's like you're outside of the structural geometry. It looks to me like an engine bug but it may be a normal behavior. The skip shader helps you to minimize this ugly effect.

 

A guide how to use areaportals is here:

http://www.map-center.com/modules.php?name=Forums&file=viewtopic&t=2081

 

or this thread:

http://www.lucasforums.com/showthread.php?s=&threadid=125882

Link to comment
Share on other sites

Don't worry about the bi-directional thing - it'll work like that.

 

What I would suggest though, is to leave the wall that the door will slide into as a single structural brush and use detail brushes and the "lip" key to hide the door in it's open position.

 

I would also strongly advise you take a look at the link that mslaf has just provided - it illustrates in pictures what i'm having trouble conveying in words - it's what I used to get these bloody things working:)

Link to comment
Share on other sites

Keep the wall solid? Rats, ok. That's different to what the RichDiesal Tutorial said and I did the door tutorial MONTHS ago :lol:

 

I've downloaded that tutorial, thanks :) but I've a feeling I've read it at least ONCE before!

 

They say to set lip to "2" is that correct? If so, I thought that was the default setting? I guess, also, to avoid that "vanishing entities" thing, that I just make the areaportal VERY thin, minimizing the chances of being "in it"? yeah?

 

Thanks again guys :D

Link to comment
Share on other sites

They say to set lip to "2" is that correct? If so, I thought that was the default setting? I guess, also, to avoid that "vanishing entities" thing, that I just make the areaportal VERY thin, minimizing the chances of being "in it"? yeah?

 

Rich tutorials are obsolete and you should use them as additional reference not a guide or bible.

To minimize this effect you should use the skip shader on all surfaces except the one for areaportal. The brush surface with areaportal shader must be "inside" the door, rest of the brush can be outside. Sample: http://www.mslaf.com/tutorials/areaportals1.jpeg

 

The surface with areaportal shader creates an areaportal not a brush.

Link to comment
Share on other sites

You've got to rememeber that richdiesel wrote those tutorials for JK2, and while a lot of the basic stuff is still relevant, the more advanced stuff will have changed for JKA.

 

Also, as Mr. Laf has just mentioned, only put the areaportal on the face that will be buried in the door. It doesn't really matter how "thick" the areaportal brush is. I personally make sure it doesn't "poke out" of the doorway, but that is just to make it look neater in the various viewports.

 

You don't necessarily have to set the lip at 2. Just experiment until you get the desired "door pokey outness". What you can then do is use detail brushes to construct the frame to hide the door when it's open.

 

Also, mslaf's tip about drawing out your map on paper is a must. What you can then do is plan where you're going to put your portals and how to split the map up for maximum performance.

 

e.g. this is going to be room X, this room Y, how can I seal them off and connect them via areaportals?

 

Fair enough if you're messing about trying to get features to work, but if you're serious in publishing a map that'll be played by a lot of people, then the performance considerations need to be taken into account.

Link to comment
Share on other sites

Fair enough if you're messing about trying to get features to work, but if you're serious in publishing a map that'll be played by a lot of people, then the performance considerations need to be taken into account.

 

Definitely.

 

The test machine is extremely useful especially when you've got a good hardware and 90 fps in almost every new game.

Link to comment
Share on other sites

Originally posted by stride

are ther any tutorials that show or tell what area portals are for so i can understand them.

 

This thread contains a few as do numerous others :)

 

and mslaf, thank you for that diagram :) of all the demonstrative pics I've seen this was the most helpful, thanks :D

Link to comment
Share on other sites

Another tip:

 

What I find useful if I want to make sure my map will run quickly on other peoples machines, is to set all the graphics options to maximum - e.g. dynamic glow on, 1600x1200, full anistropic filtering etc.

 

If is works at full speed with these settings, then it should work perfectly with the normal settings most people use.

Link to comment
Share on other sites

My map already runs at only acceptable FPS at 1024 * 768 and perfectly fine and 800 * 600. Above 1024 * 768 I don't know. Then again my comp hasn't got an amazing processor nor an amazing graphics card so I might have to try it on a friends comp when I start testing. lol

Link to comment
Share on other sites

Originally posted by mslaf

 

- draw you map and optimize on paper before working in radiant (+++)

- carefully select effect files – especially these for steams, smokes and clouds. (+/-)

- don't spawn too many NPC's in one place (if it's SP). (+)

- use misc_models instead of brushes (-)

- caulk invisible surfaces (-)

- don't use light styles or switchable lights (+/-)

- don't use complex shaders (-)

- don't use too low _lightmapscale values. (-)

- use low-res textures instead of hi-res (-)

- use hints or hints* to optimize vis (+)

- use foghull if you can (+)

- turn off r_dynamicglow (or dynamic glow) (+++)

- try to lower you video settings in the game menu. (+)

- use vertex lighted shaders (-)

 

sry if these sound newbish but ....lol

1. how do you turn off dynamic glow

2. what do you mean by

- don't use too low _lightmapscale values. (-)

- use low-res textures instead of hi-res

3. are hints detail brushes?

4. what the hell is foghull and how can i use it

5. what are vertex lighted shaders

 

meh im still kinda new to mapping....

Link to comment
Share on other sites

Originally posted by Shadow_stone

sry if these sound newbish but ....lol

1. how do you turn off dynamic glow

2. what do you mean by

- don't use too low _lightmapscale values. (-)

- use low-res textures instead of hi-res

3. are hints detail brushes?

4. what the hell is foghull and how can i use it

5. what are vertex lighted shaders

 

meh im still kinda new to mapping....

 

1. There's an option for this in the game's settings menu. If it's not that means that your hardware doesn't support it or an engine cannot detect it. Alternatively you can type "set r_dynamicglow 0" on the console to turn it off or "1" to turn it on. This option is a "performance disaster" especially if you compare it to the Unreal engine.

 

- The _lightmapscale specifies how detailed should be the lightmap grid on surfaces (this it's not the gridsize). The lower value like "0.1" means very detailed and smooth shadows, like dynamic/volumetric shadows and "4" means less detailed and more "blocky" shadows. See the q3map2 forum on splashdamage.com for examples.

 

- Some old graphic cards can compress textures up to 256x256. Textures in resolution 1024x1024 or higher may slow them down and consume more memory. It's a kind of alternative for the "textures resolution" option in game's setting menu. Useful if you make your own textures.

 

4. Hints are transparent structural brushes used in BSP optimalization process. Hints* are hints without the "surfaceparm hint", they work like the hints from Q3A tutorials.

 

5. Foghull is the combination of fog and distancecull options. The distancecull option tells the engine to render the geometry in specified range only. The fog helps to cover the geometry that is not being rendered. If you remember some old games like the car races etc, the horizon has been drawn when you were closing to it - it's the same but you don't see the "drawing" process because of the fog. See the SP Hoth maps.

 

6. Vertex lighting is predecessor of the lightmap. Vertex lighted shaders are illuminated according to surface tessellation structure (triangles) instead of static grid (this it's not the gridsize). Remember the Jedi Knight game? It's faster for the renderer but more difficult to control, useful in bright areas. You can switch the lighmap to vertex light in the settings menu to see the idea.

Link to comment
Share on other sites

im working on a map thats pretty big...a large open room,

with a bunch of things in it...a lot like sgegyptja's huge main

pyramid room just not as large...any hints on how to raise

fps on a large open room?

(wade, plz share your secrets, O mighty sg map-man) :D

Link to comment
Share on other sites

Okay, about that area portals stuff.

 

I'm not sure what differences there is between the fuction of a ordinary structural brush and a area protal. In both cases the hidden areas behind these brushes relative from your view will not the be rendered. This increses frame rate.

 

Now, if i understand corectly, ordinary doors can not function as structural brushes and the area behind it will always be rendered. Area portal changes this and helps to not render the area behind it if the doors are closed.

 

Now, say I have the following: A room in a map that is fully closed on all sides with a door. The sides are structural brushes and a area portal is placed inside the door. What will happen if I have a transparent window to the side of the door? Will the area portal be ignored? Will one see nothing behind the window?... Unless, the area protal only hides the stuff dircetly behind it.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...