Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

FPSC Classic Product Chat / Visoverlay and framedrops?

Author
Message
maho76
12
Years of Service
User Offline
Joined: 31st May 2011
Location: universe-hub, playing the flute
Posted: 18th Jun 2011 16:30 Edited at: 26th Jun 2011 23:49
Hi @all,

i post this in the german forum www.fps-creator.eu and doomster and jokerx thought i should ask lee directly, so here the translation, i hope you can understand:

yesterday i tried to reduce framerate drops thru ghostly increased polygon-calculation without a raise of polygons (known bug for all of you i think, 15.000 polys and 4fps, 150.000 polys and 60fps^^), and found an interesting fact:

i created a map filled with a mass of nearly 300.000 polys (20x20x20 fields) that let drop framerate to 1 when in field-of-view and then crashes fpssc-game and editor (repeatly, so not a random crash). after some try-arrounds in the fps of the used segments (i am a newb so not really know what i am doing there ) i found out that with setting visoverlay=1 on all objects (most walls and floors in fpsc have visoverlay=0) the framerate on the same overfilled map are constantly on more than 50fps, no matter where plr stand or looks.

can someone tell me what visoverlay is good for or not so set to 0 on most of the segments?
when its the cutout of calculating polys that hide behind others, then why so many basic-segments dont use this ressource-saving feature in the last years?

would be an immense burst of performance (and would offer immense options to integrate very complex meshes) for all of us if that will cause this "bug" and an update with corrections of fps/fpes would come along. i cant find any cons of setting visoverlay to 1 yet, but i dont know exactly what visoverlay means.

any facts or comments on this?



edit: screenshot from the post below

Hamburger
14
Years of Service
User Offline
Joined: 23rd Jun 2009
Location: Grand Rapids MI
Posted: 18th Jun 2011 17:54
I think it's used on mainly gantry and stair segments so that when you place them, they don't delete the segments in/around them.
xplosys
18
Years of Service
User Offline
Joined: 5th Jan 2006
Playing: FPSC Multiplayer Games
Posted: 18th Jun 2011 18:34 Edited at: 18th Jun 2011 18:35
Very interesting... I'd like to hear more about this too. If this is something we could use even selectively it would be nice to have the option.

Brian.

WickedX
15
Years of Service
User Offline
Joined: 8th Feb 2009
Location: A Mile High
Posted: 19th Jun 2011 01:21
visoverlay, is set to zero for room segments to allow CSG for windows and doors. CSG does not work on segment that have visoverlay set to one.
maho76
12
Years of Service
User Offline
Joined: 31st May 2011
Location: universe-hub, playing the flute
Posted: 19th Jun 2011 14:47 Edited at: 19th Jun 2011 14:53
yes, thank you. i´ve seen it today morning, i changed the fps after building the testmap so never get that. you cant get cutouts or deletes of other segments if set to 1.

tested some other levels this morning, and my speculations seem to be right (would be nice if someone else could test that for affirmation).
so you have to build your levels with visoverlays as set in the actual version. if you want to cancel frame-lags through segments you can set visoverlay=1 on all segments when you have finished your level to clean up the final game. problem is when you just build a testgame and can´t avoid field-of-views with these lags when you build complex levels. you then have to arrange 2 safety-versions of each segment-fps and exchange data before each testgame-build.

it would be a hard work for games with many different settings/segments, but i think its worth, i hate framelags and i will do it for my own in the future.

if this would be confirmed by Lee i hope there is a chance to integrate this in the buildgame-process, to force fps-datas get set on visoverlay=1. would be nice and eradicate some dissapointments about the fpsc-engine.
veer
14
Years of Service
User Offline
Joined: 3rd Mar 2010
Location:
Posted: 19th Jun 2011 15:51 Edited at: 19th Jun 2011 16:30
its seems to not working for me can explain in detail
maho76
12
Years of Service
User Offline
Joined: 31st May 2011
Location: universe-hub, playing the flute
Posted: 19th Jun 2011 19:02 Edited at: 19th Jun 2011 20:23
@veer

when you create a map (best for testing without any shaders or lightmapping or char-entities, only walls and floors) sometimes or more often you can see an incredible raise of polygon-calculation in the testbuild without changings in the numbers of polygons that are calculated, only comes with the direction in which you look or the players location on the map.

when you turn head or move the framerate rises again, even if there are more polys to calculate. this is what my speculations are about. framerate-decrease could start with 500 polys or 50.000 polys, the mass dont matters, so its a problem in calculation, not in the polys, that where my thoughts.

go to the fps-data in your files-folder and exchange visoverlay=0 into =1 on all segments used (walls and floors), and, in the levels i tested yet, the fps stay constant. but as written above, you need visoverlay=0 on floors and walls to work properly in the editor, so make copies of the datas and copy them back after testing. and dont forget to close fpsc before making the changes and erase bin- and dbo-files, or fpsc uses the original files.

and remember that this is only about framerate problems through poly-calculation, it has nothing to do with too much shaders, lightmapping or entity-calculation.
xplosys
18
Years of Service
User Offline
Joined: 5th Jan 2006
Playing: FPSC Multiplayer Games
Posted: 26th Jun 2011 17:00
Well, I played around with this a little but I'm just not seeing the whole picture here. I changed some segment settings that did not use any windows or doors but the segments all turned to boxes (single floor with 4 walls - enclosed). I'm not doing something right. Do you need to do this to a finished game or as you place them in the editor or what is the correct procedure. I'm need more input.

If this is something that will improve FPS across the board, I'd consider writing a script/function/program that can do it automatically or perhaps a batch type routine.

Explain it to me like I'm an idiot, please.

Brian.

maho76
12
Years of Service
User Offline
Joined: 31st May 2011
Location: universe-hub, playing the flute
Posted: 26th Jun 2011 23:47 Edited at: 27th Jun 2011 13:10
UPDATE:




i do some screenshots to make clear what this is all about (also edited the first post).

so some facts for this test:

set up a mapwide outdoor-level, simplified through the fact that i only use the "detention room" out of vanilla-fpsc for walls and ceilings to not have to change so many fps-data.


i test the game (all settings and data vanilla fpsc v1.18) and get the upper 1st pic in the screenshot:

calculating objects for lightning map (in the buildup) = 900

visoverlay = original
frames = 6 (when looking to the ground i can raise to 16^^, wow! )
polygons to calculate = about 50.000


Now after building and testing the original i close fpsc and start fpsc-cleaner. i go to the segment-files-folder and change ALL the detention-room-segment-fps the visoverlay from original to =1. ceiling and walls are normally set to =0 to cut out objects and build closed rooms in the editor (fpsc automatically builds top,corners and slopes so you get rounded edges, this is the main difference i can see between editing with the originals against editing with visoverlay=1 on walls and ceilings). but as far as i see it doesnt do anything in the finally build game (except eating performance ^^).

after changing the fps, open fpsc again and load the level. tested the game again and got the upper 2nd pic in the screenshot:

calculating objects for lightning map (in the buildup) = 85

visoverlay = ALL room-segments used set to visoverlay=1
frames = 60 (EVERYWHERE on the map, no matter where you look at)
polygons to calculate = about 150.000

as you can see, the polys are trippled, but the gamebuild has less problems with that than with 50.000, it runs on 60fps!!! wherever you are on the map.
also hard to get why in the buidling-process the original build has to calculate 900 objects (hard to belief that i have 900! objects in the whole level, dont think so) against 85 objects with visoverlay set to 1, but getting the same results. so building process is also speeded up.


so i now have 2 folders on another harddrive:
- originals of used segments
- used segments with visoverlay=1

so i can simply copy&paste the visoverlay1-files into fpsc-folders when i want to run a testgame or build the final. when finished, simply recopy the originals to not get in trouble when editing the map.

EDITING = original settings, testbuild/final build = set visoverlay=1.

test it, it works absolutely fine for me, getting big outdoor-areals on 60 frames before placing entities and AI (character physics and char-script-calculations are another problem that eats framerate, but i cant do hardcoding on the engine , so that is up to you . as far as i tested there is no troubleshooting with the trippled polygons against other calculations, but i am going on to find something proofing that this doesnt work... hope not ).


greets

maho

Attachments

Login to view attachments
Captain Coder
FPSC Reloaded TGC Backer
12
Years of Service
User Offline
Joined: 6th Jul 2011
Playing: Elite: Dangerous
Posted: 6th Sep 2011 20:27
Good work Maho76!

Perhaps I should go into my segment library, make a copy of everything, and then make the visoverlays all 1! This could solve some problems that invisible segments can't. Although the inverse is also probably true. We have yet to see.

Thanks!
Captain Coder

One of the most humbling days in your life will be the day you discover you AREN'T the best at what you love to do.
- Me
Soviet176
14
Years of Service
User Offline
Joined: 19th Sep 2009
Location: Volgograd
Posted: 7th Sep 2011 04:21
Very interesting, I will try this out!


Disturbing 13
18
Years of Service
User Offline
Joined: 12th Apr 2005
Location: Murder Capital of the World
Posted: 7th Sep 2011 05:11
Wow! This helps tremendously! i like to do allot of stuff by editing manually and always wondered why my custom segments never would allow for doors and windows. thanks for this info!

http://disturbing13projects.proboards.com/
Making Monsters do Horrible things!
spudnick
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location:
Posted: 9th Sep 2011 15:50 Edited at: 9th Sep 2011 20:27
Hi,
im would be a bit coursious in doing the visoverlays all =1 on one set of segments just to tryout testing, as i would get well confused in what is changed and what is original, but thats me

S unless you rember to keep doing the Cleaner in between changes, then wouldnt there be an issue with wrong bin files being left be hind causing file directories to get bigger.

Or would be in my opinion to have a virtual Os system with the changed/modyfied file running in just one area in its own fps creator, with all the same contents as in existing Os (Operating system) and when all testing done just copy the map over, i think then it would save a lot more hassle, and a more indepth debugging way, Example, Confined media, and so when you need to do an update of fps creator then then can test in a virtual Os for tryout, before making changes to original/Previous fpsc sytem that is some what ok.

Well that sjust my thought and hence, i'am gonna do jst that right know so i can have a good play around using such changes as mentioend.

May be a future release can have a hardcode to allow such a feature, that can change such a value.

But great work around tho, as i would have never thought of it

Here is a good virtual O/s system that i use and i think is the best as it works, unlike others.

An so if your copying/duplicating file in the firs place on to another drive then maybe its worth having a go at his option in the mean time.
also your existing operating will not get a cache problem when editing files, as you can just run both Operating systems at the same time.

Well i do run 2 operating at once and i find it rather nice as i have dedicated xp and vista progams, cus some of them that i use don't like to run in just one version.

http://www.virtualbox.org/

I'am not GOD but i can make you see again by taking my fingers out of your eyes and i can make you walk again by taking your beer away, but if you take my beer you will not walk again
Wolf
16
Years of Service
User Offline
Joined: 8th Nov 2007
Location: Luxemburg
Posted: 18th Sep 2011 18:14 Edited at: 18th Sep 2011 18:15
Could anybody who is expert in these matters please clarify what exactly "visoverlay" is?


-Wolf

Matter is energy condensed to a slow vibration, we are all one consciousness experiencing itself subjectively Theres no such thing as death,life is only a dream,and were the imagination of ourselves.
spudnick
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location:
Posted: 19th Sep 2011 02:51 Edited at: 21st Nov 2011 00:37
High wolf,
visoverlay= 0 or visoverlay = 1 is a command in the script of the segment.
and is just under
;Segment Visibility

visoverlay = 0

The only differance i noticed, is actualy the segment when set to visoverlay =1 is that it only paints the south facing wall of the segment, and did the same again with it set to visoverlay =0 and it is back to normal of painting the floor and the north wall and either one of the sides, depending on facing.

Try it your self on ww2 fighting bunker full,

just right click on the 2 files
bunker fighting area full.fps and bunker fighting area.bitmap and make a copy in the same folder, and on the copy of the fps file just change the visoverlay =0 to =1

and you will see what i mean.

so my gues to the hole thing of this is, that when creating a wall, even tho its on one wall, is that when set to =0 that the game engine calculates the whole area of the wall, and when set to =1 it then only calculates what is actually their!

well that is my theory behind this after many test's with the debugger on and other bits of software to monitor.

As you can see from the image that when set to =1 it does not draw correclty, and again the same segment that is normal =0 does draw correctly
on the top right i also set the visfloor to =1 and hence No floor gets drawn, and so the genric floor stays intact.
so realy the game engine could add this feature to the drawing tools, and be part of the draw wall or floor only part in the editor, so you would have draw on existing surface and it would not change the floor as this is one of the worst things whencreating rooms, is that the dam floor or wall changes when adding another type, even when you do use the wall only or floor only.

maybe we can have a word with lee about this function, and it could rather be easily added to the next build.


I'am not GOD but i can make you see again by taking my fingers out of your eyes and i can make you walk again by taking your beer away, but if you take my beer you will not walk again

Attachments

Login to view attachments
maho76
12
Years of Service
User Offline
Joined: 31st May 2011
Location: universe-hub, playing the flute
Posted: 19th Sep 2011 12:24 Edited at: 19th Sep 2011 12:28
another thing that visoverlay does (the main feature i believe) that it adds the edge-fillers of a room, the segments used for round up edges, when you use visoverlay=0 in editmode. without it the room doesnt close and you have silly steps in the corners (i am at the wrong machine atm, so i cant say how the additional room segments are named. you can easily look at them when you open a full-room.fps, its made out of 16 single segments, the small ones only build up when visoverlay is set to 0 in walls and floors. dont know how to say, i will upload detail-pics today evening if no one else does. or build a room-segment with visoverlay=1 and zoom in in the editor. look at the edges and you will see). in addition, visoverlay=1 doesnt allow to delete other segments in simply placing a floor or room segment.
use visoverlay=1 in a floor segment, you will see that he cant build a floor but tries to build a wall

thats why you have to build your levels in normal settings and change the visoverlay only for testing/building the game.
pro as shown above: no framedrops in totally open outdoor-areals/big rooms. but i dont know how, has anything to do with a collision between visoverlay and the portals in normal settings.



wickedxgames:
Quote: "visoverlay, is set to zero for room segments to allow CSG for windows and doors. CSG does not work on segment that have visoverlay set to one. "


Quote: "What is CSG?
CSG stands for Constructive Solid Geometry. POV-Ray allows us to construct complex solids by combining primitive shapes in four different ways. In the union statement, two or more shapes are added together. With the intersection statement, two or more shapes are combined to make a new shape that consists of the area common to both shapes. The difference statement, an initial shape has all subsequent shapes subtracted from it. And last not least merge, which is like a union where the surfaces inside the union are removed (useful in transparent CSG objects). We will deal with each of these in detail in the next few sections.

CSG objects can be extremely complex. They can be deeply nested. In other words there can be unions of differences or intersections of merges or differences of intersections or even unions of intersections of differences of merges... ad infinitum. CSG objects are (almost always) finite objects and thus respond to auto-bounding and can be transformed like any other POV primitive shape."

http://saturn.med.nyu.edu/~stoked01/doc/povray/pov27.htm

thats why a level setup to visoverlay=1 has tripple amount of polies against normal settings. but for some reason, the buildgame runs more constant with the tripple-amount than in vanilla. so i think the dbpro-engine/fpsc has problems with this calculation.
that where my thoughts when i tried around with this.
2Beastmode4u
13
Years of Service
User Offline
Joined: 14th Feb 2011
Location: Loading...
Posted: 19th Nov 2011 17:23
So I just set all of my segments to visualoverlay=1 and it will be fine as long as I don't have windows or doors on the segment.
Would putting a lot of invisible walls do the same? Which one helps Frame rate the most?


Cheers.

God help me, Please.
TheDesertEagle
12
Years of Service
User Offline
Joined: 7th Jul 2011
Location: Canada - Who knows where else???
Posted: 20th Nov 2011 22:11
SO this is way invisible segments help your game go faster!!!! thanks maho

Joey-May god have mercy upon my enemies, because I won't.
Favourite Game-Call Of Duty MW2
spudnick
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location:
Posted: 21st Nov 2011 00:51
Quote: "SO this is way invisible segments help your game go faster!!!! thanks maho"


I disagree with the invisable segment usage, as i built a large map and thought i would try and increase fps currently @23 fps and i had an erea that i needed to improve, and so i i made a 10 tile long by 2 story high of 2 invisable walls 1 left 1 right side, anyway cut the story short, My fps went from 23 ish to 1

so even tho the game engine did caculate the invisable walls is that the map worked better without them, infact i then added trees to fill in the area, and fps increased, and now i get 40 ish fps

So i must have magic trees

I'am not GOD but i can make you see again by taking my fingers out of your eyes and i can make you walk again by taking your beer away, but if you take my beer you will not walk again
2Beastmode4u
13
Years of Service
User Offline
Joined: 14th Feb 2011
Location: Loading...
Posted: 21st Nov 2011 00:53
Quote: "So i must have magic trees"


Or your PC was on at a good time. It happens with machines, for me when my PC has been on long I usually lag with FPSC as opposed to when it just started up.


Cheers.

God help me, Please.
maho76
12
Years of Service
User Offline
Joined: 31st May 2011
Location: universe-hub, playing the flute
Posted: 21st Nov 2011 11:26 Edited at: 21st Nov 2011 11:27
invisible walls help on small breakthroughs or relative small outdoor areals when a random lag appears. when you try to suround the whole map in length and height with invisible walls, you would have 1/2 million polys only with them
thats why i tried around with this... to get whole-map-levels 20x20x20, where in main the heightlevels were a problem for fpsc. it helps to get no random lags as with vanilla-segments, but as beast said there could be some problems, and you still have to clean up your levels. so its as usual a combination of this, invisibles and cleanup what will help with fps. i will check out the thing with breakthroughs.
spudnick
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location:
Posted: 21st Nov 2011 19:21 Edited at: 21st Nov 2011 19:34
So basicly i say is don't take the invisible segment walls for granted to try and make a map better, thus i say work at what items can be used in a bad area to help improve.

one time i used to use jpg and png images, and ever since i have convertered all my items to uses DDS i have improve my same levels by around 20 - 35 percent, so a 23 fps map increased to 30 fps

so maybe for some people using invisible segments they are reducing the image rendering, anyway i think we could talk about dozens of options that can increase or tweek the maps that are suffering with fps.

And all i can say is Optimize your images and models and keep all your images to a workable sizes, mine are optimized to around 60 to 80 kb
and before i did optimize the images, they varried upto 1.7mb. yes Wow, so again i would say have a look at ones images.

Now my poor maps that was around the 20 ish fps are now around the 50 fps, infact i have a few maps that are over 80 fps, and people say you can't get no more than 60 fps, anyway thats another issue/story
Im just happy that i know how to keep a full size map with 100's of entities and segements. in fact i have a map with over 500 enties and works at a very impressive frame rate, see some of my youtubes for proof

I'am not GOD but i can make you see again by taking my fingers out of your eyes and i can make you walk again by taking your beer away, but if you take my beer you will not walk again

Login to post a reply

Server time is: 2024-03-29 02:28:35
Your offset time is: 2024-03-29 02:28:35