Gamestudio Links
Zorro Links
Newest Posts
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
Help with plotting multiple ZigZag
by degenerate_762. 04/30/24 23:23
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
3 registered members (Ayumi, 7th_zorro, 1 invisible), 1,060 guests, and 5 spiders.
Key: Admin, Global Mod, Mod
Newest Members
firatv, wandaluciaia, Mega_Rod, EternallyCurious, howardR
19050 Registered Users
Previous Thread
Next Thread
Print Thread
Rating: 5
Page 1 of 2 1 2
Culling for huge levels. #25994
04/10/04 06:59
04/10/04 06:59
Joined: Apr 2003
Posts: 334
Canada, west coast
M
MarkMcFear Offline OP
Senior Member
MarkMcFear  Offline OP
Senior Member
M

Joined: Apr 2003
Posts: 334
Canada, west coast
My biggest "zone" to date is .. big =) So far actually it's only a 50kx50k zone but during the build it's generating 9.3k portals. thats fairly significant. I'm about 30% of the way through the zone structures, some of the bigger ones are still to come. I get FPS anywhere from 20-50 depending on how much of the city I can view.

Can anyone assist me with tricks to up the FPS. At this time my tricks are mainly just puttings walls behind building doorways to reduce portals, detailing the crap out of interiors and going fairly sparce on the exteriors. This particular zone is an outdoor zone so would using a "fog" technique improve the FPS or just reduce the visibility?

What I am thinking is to include a max_view distance setting in my .ini file for each zone and have it loaded on zone load so that in levels with a lot of detail the viewing distance is significatnly reduced.

The current castle zone was meant to be a stress test of the 3DGS engines rendering ability for outdoor zones. Currently I've got some very large sized structures, all with fully functional interiors and details like wall trim and timber etc. I am using all "flat" surfaces and no "detail" flags.

Thanks in advance.

Mark



Mark McFear Aakrana: The Forgotten Lands "It's your world now!"
Re: Culling for huge levels. [Re: MarkMcFear] #25995
04/10/04 07:27
04/10/04 07:27
Joined: Mar 2002
Posts: 1,123
California
Cellulaer Offline
Expert
Cellulaer  Offline
Expert

Joined: Mar 2002
Posts: 1,123
California

It sounds to me like you should put your interiors in their own level and compile them as map entities. When the player comes in the door or gets within range X you load the map entity or set invisible = off for it.

I don't know that using fog will increase your frame rate. It is more of a fade out to the clip plane so you don't have entities pop in and out at the edge of the clip plane.

You could also break up your world into say 5000x5000 quant map entities and load them in and out as outlined above.


Buy, Sell, & Archive Realtime 3D Content @ RedRock7.com *BETA* A5.5+ Plugin DLLs: GSADO, GSHTTP, GSImgLst, FreeMod, GSFlash, GSPython http://cellulear.slashbang.com/
Re: Culling for huge levels. [Re: Cellulaer] #25996
04/10/04 07:45
04/10/04 07:45
Joined: Apr 2003
Posts: 334
Canada, west coast
M
MarkMcFear Offline OP
Senior Member
MarkMcFear  Offline OP
Senior Member
M

Joined: Apr 2003
Posts: 334
Canada, west coast
Hmm. In my MMRPG world it's not feasable to have every interior it's own level. At least it's not what I wanted to do. Based on my research though I was toying with the idea of having each building as it's own entity and doing an LOD for each one allowing for only exterior rendering at distance and then detailed interior for the detail LOD.

Was curious about the fog and thinking abotu it further I think you are right. The fog effect is just that. An effect. The clip plane is still the almighty holder of the FPS key. I am going to do a test and convert a couple buildings to entities and do an LOD on them for the interiors.

Thanks for the feedback.

Mark


Mark McFear Aakrana: The Forgotten Lands "It's your world now!"
Re: Culling for huge levels. [Re: MarkMcFear] #25997
04/10/04 10:16
04/10/04 10:16
Joined: Apr 2003
Posts: 334
Canada, west coast
M
MarkMcFear Offline OP
Senior Member
MarkMcFear  Offline OP
Senior Member
M

Joined: Apr 2003
Posts: 334
Canada, west coast
So because I am sort of retentive when I get something on my mind I went and checked AC and EQ and DAoC on how they handle LoD specifically. I Was unable to determine the exact method of LoD for EQ (if any) but AC uses the 3DGS system almost to a T. (AC1 we are talking.) This allows me to strip all of the walls and details out of the interiors of my buildings for LoD 2 and strip off most of the exterior detail for LoD3. Then it's a matter of wroking with the camera_far var to achieve maximum frame without dinkering too badly with the players Field of view.

Anyoen else done any work with this please let me know =) I'm a noob and I'm barely treading water

Mark



Mark McFear Aakrana: The Forgotten Lands "It's your world now!"
Re: Culling for huge levels. [Re: MarkMcFear] #25998
04/10/04 13:24
04/10/04 13:24
Joined: Mar 2002
Posts: 1,123
California
Cellulaer Offline
Expert
Cellulaer  Offline
Expert

Joined: Mar 2002
Posts: 1,123
California
Right, that's what I ment when I said "put them in their own level" and compile them to map entities. Not have seperates "zones" or "levels" for interiors.

EverQuest has a single compiled map file for the level. The original EQ zones are pretty low polygon in an of themselves. When zoning they use the classic "can't see around the corner" bottleneck.

Each "zone" in DAOC is a terrain square. I believe they unload the other terrain squares when they are out of sight. They also use the bottleneck zoning for things like the main cities and dungeons. Because they use terrain and not BSP, the buildings themselves probably pop in and out at the clip plane (which would be map entities).

Keep in mind that the farther from 0,0,0 you get the slower BSP goes.

---

Another trick I thought of to squeeze more space into 3DGS levels would be to stack walkable areas vertically. You enclose each section of Z in a sky box so you can not see the other sections above and below.

So city #1 might be 50000x50000 at Z 0 and city #2 might be 50000x50000 at Z 10000.

City #2 [--------------------------] 10000 Z
City #1 [--------------------------] 0 Z
Forest [--------------------------] -10000 Z


Buy, Sell, & Archive Realtime 3D Content @ RedRock7.com *BETA* A5.5+ Plugin DLLs: GSADO, GSHTTP, GSImgLst, FreeMod, GSFlash, GSPython http://cellulear.slashbang.com/
Re: Culling for huge levels. [Re: Cellulaer] #25999
04/10/04 13:35
04/10/04 13:35
Joined: Apr 2003
Posts: 334
Canada, west coast
M
MarkMcFear Offline OP
Senior Member
MarkMcFear  Offline OP
Senior Member
M

Joined: Apr 2003
Posts: 334
Canada, west coast
Thanks Cell I'll try working on that. Also I was not aware that BSP was faster closer to center. Very important.

So far I'm experimenting with one of my buildings but I can't get LoD to kick in. I know I'm doing something wrong. I load up the building as it's own map and save it as name_01 02 03 04 etc. correct? What I did was group the blocks in WED and "save as". Then I open that file and recompile it?

Thanks in advance.

Mark



Mark McFear Aakrana: The Forgotten Lands "It's your world now!"
Re: Culling for huge levels. [Re: MarkMcFear] #26000
04/10/04 13:41
04/10/04 13:41
Joined: Apr 2003
Posts: 334
Canada, west coast
M
MarkMcFear Offline OP
Senior Member
MarkMcFear  Offline OP
Senior Member
M

Joined: Apr 2003
Posts: 334
Canada, west coast
Yup that did it. The WMB files are created when I build, not Save as. Got it. Heh sorry for the brainfreeze. So I renamed some copies of the wmb files and did some testing. Now I need to start striping stuff out and see what I can kick the frame rate up to =) thanks man.

Mark


Mark McFear Aakrana: The Forgotten Lands "It's your world now!"
Re: Culling for huge levels. [Re: MarkMcFear] #26001
04/10/04 16:21
04/10/04 16:21
Joined: Apr 2003
Posts: 334
Canada, west coast
M
MarkMcFear Offline OP
Senior Member
MarkMcFear  Offline OP
Senior Member
M

Joined: Apr 2003
Posts: 334
Canada, west coast
Ok, finally got it working. (Yeah yeah I know RTFM =) ) I thought I followed the direcitons but I missed a step. Anyways for those following behind me I'll post it a little clearer.

To use LoD in A6 Extra or better do the following. Create a "new" instance in WED. Build your entity using blocks and when you have it 100% do a "save as" filename_0 - The zero is the key filename can be what you want. Then hit the build button. Next tricky part here is that we need to hijack the WMB file created when you did the build. It will be in the same directory as the WMP file so go find it, copy it and put it in a safe place. =)

Next, proceed to strip down the detail levels form the model. For example after our first save (filename_0) which contains all the detail of the entity I am going to strip down interior details of the build that are not needed untill the player gets close enough to enter. I then save it as filename_1 and do a build. I grab the WMB file and put it in the same "safe place" as the 0 filename. I proceed to strip down some extrenal details for LOD maps 2 and 3 and again, save as filename_2-3 and build and move the WMB files. Ok, put the WMB files in your entities folder for your project, go back into your main project and do an "object" "load entity". Now select .WMB and choose filename_0. Place it how you want it in your level and voila!. Do a build and sit back and watch your new LoD kick serious tail.

Cheers, Hope this saves someone some time =)

Mark

Thanks

Mark



Mark McFear Aakrana: The Forgotten Lands "It's your world now!"
Re: Culling for huge levels. [Re: MarkMcFear] #26002
04/10/04 16:41
04/10/04 16:41
Joined: Mar 2002
Posts: 1,123
California
Cellulaer Offline
Expert
Cellulaer  Offline
Expert

Joined: Mar 2002
Posts: 1,123
California
It's _0 _1 _2 _3 where _0 is the first level of LOD.


Buy, Sell, & Archive Realtime 3D Content @ RedRock7.com *BETA* A5.5+ Plugin DLLs: GSADO, GSHTTP, GSImgLst, FreeMod, GSFlash, GSPython http://cellulear.slashbang.com/
Re: Culling for huge levels. [Re: MarkMcFear] #26003
04/11/04 01:18
04/11/04 01:18
Joined: Apr 2003
Posts: 334
Canada, west coast
M
MarkMcFear Offline OP
Senior Member
MarkMcFear  Offline OP
Senior Member
M

Joined: Apr 2003
Posts: 334
Canada, west coast
Thanks for your help Cell. Much appreciated.

As a followup and, and since it applies to culling and frame rates I wanted to mention that by correctly implementing non-intersecting "detail" blocks I was able to increse the frame rate about 20% and decrease the build time from 350seconds to a measly 120 seconds. Very very nice.

Proper usage of the "detail" flag: This flag should be used on non-moving blocks that can be seen around. Things like fence posts, fence rails, telephone poles, anything that is a "detail" more than an object the player will be interacting with. Now the big rule with detail blocks is they must NOT touch another detail block. If you go to "build" your level and it finds intersecting (touching) detail blocks it increases the build time very dramatically but worse yet it really increases the number of portals. USed correctly, detail blocks reduce portals, increase the frame rate and help the build time.

Hope you find this useful.

PS: Just as an addendum to this, I found that by incorporating "detail" blocks into my _2 and _3 LoD WMB files I was able to boost performance even further. As an example, at the distance for _2 and _3 LoD files to kick in I am not worried about 1 pixel of space between "blocks" so I went and seperated as many of the blocks in the WMB files as possible by 1 pixel. I then turned all of the appropriate blocks into "detail" blocks. Please do some testing on this when you use it. Don't go around dissasembling the walls of your house for example In my case it was a wooden rail fence that was driving me nuts =) So by seperating all the rails and posts by a couple of pixels and turning them into detail blocks for the _2 and _3 LoD wMBs I dramatically kicked up the frame rate.



Mark


Mark McFear Aakrana: The Forgotten Lands "It's your world now!"
Page 1 of 2 1 2

Moderated by  HeelX, Spirit 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1