[Request] Help us to Optimize PR! (LOD Switching & Cull Distances)

Making or wanting help making your own asset? Check in here
Rhino
Retired PR Developer
Posts: 47909
Joined: 2005-12-13 20:00

Re: Help us to Optimize PR! (LOD Switching & Cull Distances)

Post by Rhino »

Psyrus wrote:Oh jeez that sounds like a lot of work :? ??: Is (will the) the benefit be worth the work that it entails (on the modelers'/mappers' side)?
Only if you do it on a very large scale but your talking months of optimization work by quite a few dedicated people who know exactly what they where doing, which right now I'm the only person in the team who can truly optimize all areas of a staticobject and have far too much work on to think about this sort of thing :p
Image
Rudd
Retired PR Developer
Posts: 21225
Joined: 2007-08-15 14:32

Re: Help us to Optimize PR! (LOD Switching & Cull Distances)

Post by Rudd »

noob question, would this treatment also apply to kit geometries?
Image
Rhino
Retired PR Developer
Posts: 47909
Joined: 2005-12-13 20:00

Re: Help us to Optimize PR! (LOD Switching & Cull Distances)

Post by Rhino »

[R-DEV]Rudd wrote:noob question, would this treatment also apply to kit geometries?
the lightmapping part no :p

decent LODs, LOD distances and cull distances, defiantly yes and something I've said in the dev forums for ages needs to be looked into :p
Image
AquaticPenguin
Posts: 846
Joined: 2008-08-27 19:29

Re: Help us to Optimize PR! (LOD Switching & Cull Distances)

Post by AquaticPenguin »

[R-DEV]Rhino wrote:the lightmapping part no :p

decent LODs, LOD distances and cull distances, defiantly yes and something I've said in the dev forums for ages needs to be looked into :p
I noticed with the 128 player server I began to get reduced frame-rate when a lot of friendlies were around, so I'm guessing this was probably a big contributing factor.
Rhino
Retired PR Developer
Posts: 47909
Joined: 2005-12-13 20:00

Re: Help us to Optimize PR! (LOD Switching & Cull Distances)

Post by Rhino »

That and the handheld weapons as some 3p models for weapons have the same poly count as a MBT, on arrearage the same as an APC so having a squad of 6 guys around you is like having 6 APCs next to you.
Image
Wakain
Posts: 1159
Joined: 2009-11-23 21:58

Re: Help us to Optimize PR! (LOD Switching & Cull Distances)

Post by Wakain »

[R-DEV]Rhino wrote:That and the handheld weapons as some 3p models for weapons have the same poly count as a MBT, on arrearage the same as an APC so having a squad of 6 guys around you is like having 6 APCs next to you.
damn, and you guys maintain that this whole optimization initiative will only be a matter of a slightly better framerate for most computers? :p
Rhino
Retired PR Developer
Posts: 47909
Joined: 2005-12-13 20:00

Re: Help us to Optimize PR! (LOD Switching & Cull Distances)

Post by Rhino »

Wakain wrote:damn, and you guys maintain that this whole optimization initiative will only be a matter of a slightly better framerate for most computers? :p
Well in my initial testing of improving that aspect I only got 1 fps extra (which may seem small but is actually quite a lot) but I need to do some more work on it and I think I can get more than that, but its a huge amount of work what I did which we tbh, don't really have the man power to do all that work and its very complicated and takes a huge amount of time to do it well :(
Image
Psyrus
Retired PR Developer
Posts: 3841
Joined: 2006-06-19 17:10

Re: Help us to Optimize PR! (LOD Switching & Cull Distances)

Post by Psyrus »

Code: Select all

[b][u]mec_aav_gopher, ru_aav_gopher[/u][/b]

ObjectTemplate.cullRadiusScale 9.4

GeometryTemplate.setSubGeometryLodDistance 1 0 10
GeometryTemplate.setSubGeometryLodDistance 1 1 50
GeometryTemplate.setSubGeometryLodDistance 1 2 90
GeometryTemplate.setSubGeometryLodDistance 1 3 140
GeometryTemplate.setSubGeometryLodDistance 2 0 20
GeometryTemplate.setSubGeometryLodDistance 2 1 55
GeometryTemplate.setSubGeometryLodDistance 2 2 75
GeometryTemplate.setSubGeometryLodDistance 2 3 110

[b]Issues:[/b]
[list=1]
[*]Geom_2 LOD 0-4: Wheels/Tracks appear to be duplicated?
[*]Geom_2 LOD 4: Final LOD is over limit @ 585 polys
[*]
[*]
[*]
[*]
[*]
[/list]

[b]Coding:[/b] Psyrus
[b]Checked by:[/b] 
[b]Tweaked by:[/b] 
[b]Committed to REPO:[/b] 
Another self updating chart because I like making pretty things in google docs :)
Image
Last edited by Psyrus on 2011-06-06 05:37, edited 3 times in total.
Psyrus
Retired PR Developer
Posts: 3841
Joined: 2006-06-19 17:10

Re: Help us to Optimize PR! (LOD Switching & Cull Distances)

Post by Psyrus »

Code: Select all

[b][u]mec_apc_btr60, ru_apc_btr60[/u][/b]

ObjectTemplate.cullRadiusScale 9.2

GeometryTemplate.setSubGeometryLodDistance 1 0 25
GeometryTemplate.setSubGeometryLodDistance 1 1 65
GeometryTemplate.setSubGeometryLodDistance 1 2 75
GeometryTemplate.setSubGeometryLodDistance 2 0 25
GeometryTemplate.setSubGeometryLodDistance 2 1 45


[b]Issues:[/b]
[list=1]
[*]Geom_1 LOD 3: Final LOD poly count above limit @ [b][color=red]2057[/color][/b]
[*]Geom_2 LOD 2: Final LOD poly count above limit @ [b][color=red]2988[/color][/b]
[*]
[*]
[*]
[*]
[*]
[/list]

[b]Coding:[/b] Psyrus
[b]Checked by:[/b] 
[b]Tweaked by:[/b] 
[b]Committed to REPO:[/b] 

Code: Select all

[b][u]mec_apc_mltb, ru_apc_mltb[/u][/b]

ObjectTemplate.cullRadiusScale 10.1

GeometryTemplate.setSubGeometryLodDistance 1 0 25
GeometryTemplate.setSubGeometryLodDistance 1 1 75
GeometryTemplate.setSubGeometryLodDistance 1 2 135
GeometryTemplate.setSubGeometryLodDistance 1 3 180
GeometryTemplate.setSubGeometryLodDistance 2 0 20
GeometryTemplate.setSubGeometryLodDistance 2 1 50
GeometryTemplate.setSubGeometryLodDistance 2 1 70
GeometryTemplate.setSubGeometryLodDistance 2 1 135


[b]Issues:[/b]
[list=1]
[*]Geom_2 LOD 4: Due to the loss of the track guards, the LOD switch has to be pushed out further than it would have to if the model were a bit 'fatter' from the front profile on the final LOD. Not a huge issue, but noteworthy. 
[*]Geom_2 : [i]Again it seems like the wheels are doubled up on all 4 LODs?[/i]
[*]
[*]
[*]
[*]
[/list]

[b]Coding:[/b] Psyrus
[b]Checked by:[/b] 
[b]Tweaked by:[/b] 
[b]Committed to REPO:[/b] 
Last edited by Psyrus on 2011-06-16 15:05, edited 4 times in total.
Psyrus
Retired PR Developer
Posts: 3841
Joined: 2006-06-19 17:10

Re: Help us to Optimize PR! (LOD Switching & Cull Distances)

Post by Psyrus »

Code: Select all

[b][u]mec_apc_mltb_hmg, ru_apc_mltb_hmg[/u][/b]

ObjectTemplate.cullRadiusScale 9.9

GeometryTemplate.setSubGeometryLodDistance 1 0 20
GeometryTemplate.setSubGeometryLodDistance 1 1 75
GeometryTemplate.setSubGeometryLodDistance 1 2 135
GeometryTemplate.setSubGeometryLodDistance 1 3 210
GeometryTemplate.setSubGeometryLodDistance 2 0 25
GeometryTemplate.setSubGeometryLodDistance 2 1 75
GeometryTemplate.setSubGeometryLodDistance 2 2 125
GeometryTemplate.setSubGeometryLodDistance 2 3 225

[b]Issues:[/b]
[list=1]
[*]Due to the low poly count for the final LOD and fact that it is 2 pixels until over 1100m, I pushed out the cull radius. Feel free to bring it down to my original (7.6) or your own value if you feel that is a better fit. 
[*]Geom_2 LOD 4: Due to the loss of the track guards, the LOD switch has to be pushed out further than it would have to if the model were a bit 'fatter' from the front profile on the final LOD.
[*]
[*]
[*]
[*]
[/list]

[b]Coding:[/b] Psyrus
[b]Checked by:[/b] 
[b]Tweaked by:[/b] 
[b]Committed to REPO:[/b] 
Psyrus
Retired PR Developer
Posts: 3841
Joined: 2006-06-19 17:10

Re: Help us to Optimize PR! (LOD Switching & Cull Distances)

Post by Psyrus »

Code: Select all

[b][u]mec_apc_mltb_30mm[/u][/b]

ObjectTemplate.cullRadiusScale 4.7

GeometryTemplate.setSubGeometryLodDistance 1 0 20
GeometryTemplate.setSubGeometryLodDistance 1 1 75
GeometryTemplate.setSubGeometryLodDistance 1 2 140
GeometryTemplate.setSubGeometryLodDistance 1 3 215
GeometryTemplate.setSubGeometryLodDistance 2 0 70
GeometryTemplate.setSubGeometryLodDistance 2 1 90
GeometryTemplate.setSubGeometryLodDistance 2 2 105
GeometryTemplate.setSubGeometryLodDistance 2 3 180

[b]Issues:[/b]
[list=1]
[*]Geom_1 LOD 4: Final LOD is above limit @ 404 polys
[*]Geom_2 LOD 1: A face was seemingly deleted (probably unintentionally) that is not deleted on any of the other LODs, and makes the first LOD switch have to happen at 70m rather than ~20/25m [[url=http://i235.photobucket.com/albums/ee94/psyrus_uraya/LODs/mtlb_30mm_geom2_lod1_face.png]See Image[/url]]
[*]Geom_2 LOD 4: Due to the loss of the track guards, the LOD switch has to be pushed out further than it would have to if the model were a bit 'fatter' from the front profile on the final LOD.
[*]
[*]
[*]
[/list]

[b]Coding:[/b] Psyrus
[b]Checked by:[/b] 
[b]Tweaked by:[/b] 
[b]Committed to REPO:[/b] 
I hope there are some people who are enthusiastic about doing the Air vehicles because while I'm making a decent amount of attempts per week [Land Veh], I would really appreciate anyone who could help doing the air stuff (since I don't really care about the air vehicles & they're so few/far between on most maps that I can't rationalize doing it all alone for the tiny benefit it will entail).
Last edited by Psyrus on 2011-06-15 15:56, edited 1 time in total.
Psyrus
Retired PR Developer
Posts: 3841
Joined: 2006-06-19 17:10

Re: Help us to Optimize PR! (LOD Switching & Cull Distances)

Post by Psyrus »

Code: Select all

[b][u]mec_ifv_bmp3, rus_ifv_bmp3[/u][/b]

ObjectTemplate.cullRadiusScale 7.9

GeometryTemplate.setSubGeometryLodDistance 1 0 45
GeometryTemplate.setSubGeometryLodDistance 1 1 85
GeometryTemplate.setSubGeometryLodDistance 1 2 155
GeometryTemplate.setSubGeometryLodDistance 2 0 115
GeometryTemplate.setSubGeometryLodDistance 2 1 150

[b]Issues:[/b]
[list=1]
[*]Geom_1 LOD 3: Final LOD poly count is over limit @ 901 polys
[*]Geom_2 LOD 2/3: The deleted wheel faces make for a very stark LOD switch, and IMO would be better gained elsewhere, like the mltb. This pushes the LOD switch [b]way [/b]out to 100m+ [[url=http://i235.photobucket.com/albums/ee94/psyrus_uraya/LODs/bmp3_lod_wheels.png]See Image[/url]]
[*]Geom_2 LOD 3: Final LOD poly count is over limit @ 930 polys
[*]
[*]
[*]
[*]
[*]
[/list]

[b]Coding:[/b] Psyrus
[b]Checked by:[/b] 
[b]Tweaked by:[/b] 
[b]Committed to REPO:[/b] 
Last edited by Psyrus on 2011-06-15 15:55, edited 1 time in total.
Psyrus
Retired PR Developer
Posts: 3841
Joined: 2006-06-19 17:10

Re: Help us to Optimize PR! (LOD Switching & Cull Distances)

Post by Psyrus »

Code: Select all

[b][u]mec_tnk_t72[/u][/b]

ObjectTemplate.cullRadiusScale 5.4

GeometryTemplate.setSubGeometryLodDistance 1 0 40
GeometryTemplate.setSubGeometryLodDistance 1 1 100
GeometryTemplate.setSubGeometryLodDistance 1 2 115
GeometryTemplate.setSubGeometryLodDistance 2 0 50
GeometryTemplate.setSubGeometryLodDistance 2 1 115

[b]Issues:[/b]
[list=1]
[*]Geom_1 LOD 3: Final LOD poly count way over limit @ [b][color=Red]3028 [/color][/b]polys 
[*]Geom_2 LOD 2: Final LOD poly count way over limit @ [b][color=Red]1994 [/color][/b]polys [*]
[*]Geom_2 LOD 0/1/2: Floating wheel thing on RHS of wreck [[url=http://i235.photobucket.com/albums/ee94/psyrus_uraya/LODs/t72_geom2_floating_wheel.png]See Image[/url]]
[*]Geom_2 LOD 1: 2x Floating circle things on LHS air of wreck [[url=http://i235.photobucket.com/albums/ee94/psyrus_uraya/LODs/t72_geom2_floating_circles.png]See Image[/url]]
[*]
[*]
[*]
[/list]

[b]Coding:[/b] Psyrus
[b]Checked by:[/b] 
[b]Tweaked by:[/b] 
[b]Committed to REPO:[/b] 
Last edited by Psyrus on 2011-06-15 15:55, edited 1 time in total.
Psyrus
Retired PR Developer
Posts: 3841
Joined: 2006-06-19 17:10

Re: Help us to Optimize PR! (LOD Switching & Cull Distances)

Post by Psyrus »

Code: Select all

[b][u]mec_tow_shturm, ru_tow_shturm[/u][/b]

ObjectTemplate.cullRadiusScale 5.4 ([i]check from top, sides fade @ 4.6[/i])

GeometryTemplate.setSubGeometryLodDistance 1 0 25
GeometryTemplate.setSubGeometryLodDistance 1 1 75
GeometryTemplate.setSubGeometryLodDistance 1 2 140
GeometryTemplate.setSubGeometryLodDistance 1 3 210
GeometryTemplate.setSubGeometryLodDistance 2 0 30
GeometryTemplate.setSubGeometryLodDistance 2 1 45
GeometryTemplate.setSubGeometryLodDistance 2 2 90
GeometryTemplate.setSubGeometryLodDistance 2 3 145

[b]Issues:[/b]
[list=1]
[*]Geom_1 LOD 3: Tracks rise on model, pushing out LOD switch a little. 
[*]Geom_2 LOD : Wreck appears to have double wheels on all LODs?
[*]
[*]
[*]
[*]
[*]
[/list]

[b]Coding:[/b] Psyrus
[b]Checked by:[/b] 
[b]Tweaked by:[/b] 
[b]Committed to REPO:[/b] 
Psyrus
Retired PR Developer
Posts: 3841
Joined: 2006-06-19 17:10

Re: Help us to Optimize PR! (LOD Switching & Cull Distances)

Post by Psyrus »

Code: Select all

[b][u]mil_tnk_t62[/u][/b]

ObjectTemplate.cullRadiusScale 3.7

GeometryTemplate.setSubGeometryLodDistance 1 0 45
GeometryTemplate.setSubGeometryLodDistance 1 1 75
GeometryTemplate.setSubGeometryLodDistance 1 2 105
GeometryTemplate.setSubGeometryLodDistance 2 0 30
GeometryTemplate.setSubGeometryLodDistance 2 1 55

[b]Issues:[/b]
[list=1]
[*]Geom_1 LOD 3: Final LOD way over poly limit @ [b][color=Red]2800[/color][/b] polys
[*]Geom_2 LOD 2: Final LOD way over poly limit @ [b][color=Red]2717[/color][/b] polys
[*]Geom_1 LOD 0/1: The first LOD(0) has shiny/silver wheels in the tracks, whereas LOD 1/2/3 all have black wheels in the tracks. Makes LOD switching at any kind of angle very obvious. [[url=http://i235.photobucket.com/albums/ee94/psyrus_uraya/LODs/t62_geom1_wheel_colours.png]See Image[/url]]
[*]
[*]
[*]
[/list]

[b]Coding:[/b] Psyrus
[b]Checked by:[/b] 
[b]Tweaked by:[/b] 
[b]Committed to REPO:[/b] 

Code: Select all

[b][u]ru_aav_tunguska[/u][/b]

ObjectTemplate.cullRadiusScale 5.9

GeometryTemplate.setSubGeometryLodDistance 1 0 70
GeometryTemplate.setSubGeometryLodDistance 1 1 130
GeometryTemplate.setSubGeometryLodDistance 1 2 215
GeometryTemplate.setSubGeometryLodDistance 2 0 140
GeometryTemplate.setSubGeometryLodDistance 2 1 170


[b]Issues:[/b]
[list=1]
[*]Geom_2 LOD 0/1: The first LOD(0) has little flaps/wings on the side, whereas none of the other LODs have such a piece of geometry. Forces the LOD switch to occur later than it would have to otherwise. Either remove from LOD0 or add a small bit to LOD1 IMO [[url=http://i235.photobucket.com/albums/ee94/psyrus_uraya/LODs/tunguska_geom2_lod_wings.png]See Image[/url]]
[*]Geom_2 LOD 2: The turret is floating due to the lower geometry being deleted, which results in the LOD switch being very obvious from the front. The LHS of the track geometry is also deleted, which further pushes out the LOD switch. If the wing & floating issue was resolved, LOD switches could probably be halved in distance... roughly. [[url=http://i235.photobucket.com/albums/ee94/psyrus_uraya/LODs/tunguska_geom2_lod2_floating_turret.png]See Image[/url]]
[*]
[*]
[/list]

[b]Coding:[/b] Psyrus
[b]Checked by:[/b] 
[b]Tweaked by:[/b] 
[b]Committed to REPO:[/b] 

Code: Select all

[b][u]ru_apc_btr80, ru_apc_btr80_alt[/u][/b]

ObjectTemplate.cullRadiusScale 6.7

GeometryTemplate.setSubGeometryLodDistance 1 0 45
GeometryTemplate.setSubGeometryLodDistance 1 1 90
GeometryTemplate.setSubGeometryLodDistance 1 2 170
GeometryTemplate.setSubGeometryLodDistance 2 0 30
GeometryTemplate.setSubGeometryLodDistance 2 1 80



[b]Issues:[/b]
[list=1]
[*]Geom_1 LOD 3: Final LOD over poly limit @ [b][color=Black]923[/color][/b] polys
[*]Geom_2 LOD 2: Final LOD way over poly limit @ [b][color=Red]3491[/color][/b] polys
[/list]

[b]Coding:[/b] Psyrus
[b]Checked by:[/b] 
[b]Tweaked by:[/b] 
[b]Committed to REPO:[/b] 

Code: Select all

[b][u]ru_apc_btr80a, ru_apc_btr80a_alt[/u][/b]

ObjectTemplate.cullRadiusScale 7.3 [required for top view, can be 6.8 for sides]

GeometryTemplate.setSubGeometryLodDistance 1 0 40
GeometryTemplate.setSubGeometryLodDistance 1 1 80
GeometryTemplate.setSubGeometryLodDistance 1 2 180
GeometryTemplate.setSubGeometryLodDistance 2 0 35
GeometryTemplate.setSubGeometryLodDistance 2 1 60

[b]Issues:[/b]
[list=1]
[*]Geom_1 LOD 3: Final LOD over poly limit @ [b][color=Black]1404[/color][/b] polys
[*]Geom_2 LOD 2: Final LOD way over poly limit @ [b][color=Red]2931[/color][/b] polys
[*]
[*]
[*]
[/list]

[b]Coding:[/b] Psyrus
[b]Checked by:[/b] 
[b]Tweaked by:[/b] 
[b]Committed to REPO:[/b] 
Phew, just ten to go on land vehicles. I'll be moving on to trying my hand at modeling statics for the norwegian Vadso City (and then perhaps other things). Air vehicles to those who are passionate about them hey (36 to do - they average about 12-17 minutes to properly do from my exp, so 7-10 hours worth of 'work' left).
Last edited by Psyrus on 2011-06-15 17:10, edited 7 times in total.
Reason: Four's the charm
Tim270
PR:BF2 Developer
Posts: 5166
Joined: 2009-02-28 20:05

Re: Help us to Optimize PR! (LOD Switching & Cull Distances)

Post by Tim270 »

None of the image links work Psyrus.

Edit;nvm think photobucket was broken for a bit.
Last edited by Tim270 on 2011-06-15 16:55, edited 1 time in total.
sharpie
Posts: 1434
Joined: 2009-11-08 03:41

Re: Help us to Optimize PR! (LOD Switching & Cull Distances)

Post by sharpie »

Worked for me...great work Psyrus :D
"Tom I think you have influenced the combat effectiveness of this team! Everyone has gone full potato."~Foxxyfrost

[DM]P*Funk: its like a funk guitar seminar up in that *****

K_Rivers-"...everything is broken in your country,"

RinWarZip: Your butthurt is like cold september morning by the seashore for me. Refreshing. Pepper mint.

Psyrus
Retired PR Developer
Posts: 3841
Joined: 2006-06-19 17:10

Re: Help us to Optimize PR! (LOD Switching & Cull Distances)

Post by Psyrus »

Tim270 wrote:None of the image links work Psyrus.

Edit;nvm think photobucket was broken for a bit.
Oh I moved the pics from my default folder to their own one, had to go through and manually add a /LODs/ thing to each link, so I think that's why they seemed broken :)

LODs pictures by psyrus_uraya - Photobucket
Psyrus
Retired PR Developer
Posts: 3841
Joined: 2006-06-19 17:10

Re: Help us to Optimize PR! (LOD Switching & Cull Distances)

Post by Psyrus »

:confused: :confused:

Code: Select all

[b][u][color=Red][B]apc_btr90[/b][/color][/u][/B]

ObjectTemplate.cullRadiusScale 7.5

GeometryTemplate.setSubGeometryLodDistance 1 0 85
GeometryTemplate.setSubGeometryLodDistance 1 1 95
GeometryTemplate.setSubGeometryLodDistance 1 2 170
GeometryTemplate.setSubGeometryLodDistance 2 0 40
GeometryTemplate.setSubGeometryLodDistance 2 1 125
GeometryTemplate.setSubGeometryLodDistance 2 2 140

[b]Issues:[/b]
[list=1]
[*]There did not appear to be a ru_apc_btr90, did the regular apc_btr90 (has MEC flag on it)
[*]LOD switches were extremely optimistic, had to revise them up to make them less obvious. 
[*]
[*]
[*]
[/list]

[b]Coding:[/b] Psyrus
[b]Checked by:[/b] 
[b]Tweaked by:[/b] 
[b]Committed to REPO:[/b] 
Rudd
Retired PR Developer
Posts: 21225
Joined: 2007-08-15 14:32

Re: Help us to Optimize PR! (LOD Switching & Cull Distances)

Post by Rudd »

thats the vBF2 one mate which we don't use because iirc it wasn't appropriate
Image
Post Reply

Return to “PR:BF2 Community Modding”