Optimizing During Early Alpha or After everything has been placed.

Discussion in 'Mapping Questions & Discussion' started by Vigilante212, Jul 21, 2009.

?

Optimize Early or late?

  1. Early

    21 vote(s)
    70.0%
  2. Late

    9 vote(s)
    30.0%
  1. Vigilante212

    Vigilante212 L7: Fancy Member

    Messages:
    481
    Positive Ratings:
    33
    I had a debate with a friend about optimizing maps. I said it was easier to do it during the alpha stage he said after everything was in. What does everyone else think.
     
  2. The Political Gamer

    aa The Political Gamer

    Messages:
    4,468
    Positive Ratings:
    1,682
    Alpha: no_draw
    Beta: Area Portals
    RC: Hints
    Final: All of the above.

    Thats how I see it anyway.
     
    Last edited: Jul 21, 2009
  3. (s2a) yahodahan

    (s2a) yahodahan L3: Member

    Messages:
    144
    Positive Ratings:
    18
    I would like to add (from my own, unfortunate, experience)-

    During the Alpha build, while perhaps don't get too fully into area portals, vis, etc- plan ahead to make sure these can be implemented best! A few simple changes in Alpha can negate the need for headaches upon headaches in Beta, when suddenly it's runnin' at 5fps in certain areas...
    (cough*cough*- me)
     
  4. Psy

    aa Psy The Imp Queen

    Messages:
    1,705
    Positive Ratings:
    1,466
    I've optimised Nightfall already using areaportals and hint brushes. It'll ease the transition into detailing later on as I won't have to worry too much about how to control visibility and whatnot.
     
  5. luxatile

    aa luxatile deer

    Messages:
    2,289
    Positive Ratings:
    1,348
    In my alpha map, I currently have what I consider absolute standards (nodraw faces and func_detail), as well as some areaportals because they're very simple and ensure that my map runs smooth. It's all I need at the moment since I don't have a crapton of details to render.

    In beta, I plan to do elaborate optimisation with hints and skips and all that, not to mention all other existing methods (tweaking my lightmaps, setting prop fade distances and stuff). I disagree with The Political Gamer about finalizing optimisation in the RC, because optimisation also requires testing. You need to know whether it runs smooth or not, and where the bad areas are in terms of FPS.

    EDIT: Also, your friend's argument about it being easier to do in alpha (due to clutter, or a lack thereof, I presume he means...) is no good. Just use VisGroups to get the unnecessary stuff out of the way.

    EDIT: Oh, and there's a poll. :p I voted for late, if just because I don't think you should do it all as soon as possible.
     
    Last edited: Jul 21, 2009
  6. (s2a) yahodahan

    (s2a) yahodahan L3: Member

    Messages:
    144
    Positive Ratings:
    18
    hahaha did I just forget english? lolz...
     
  7. Caliostro

    Caliostro L6: Sharp Member

    Messages:
    261
    Positive Ratings:
    110
    Well, the way I see it, basic stuff (no_draws and such) in alpha, just the necessary to support the basic layout testing. Remember, you're going to be doing a lot of changes, some in a large scale, in alpha, that's why it's alpha, and the more stuff you have around the more you gotta mess with and adjust every time you need to change something.

    Once the basic layout of the map is defined and accepted, we move on to Beta, where most of the core bugs were supposedly ironed out. That's when you detail, and optimize (which, in a way, is part of detailing). At this stage it's accepted that the only changes you ought to be doing will be to the actual details, optimization and assorted minor stuff.
     
  8. Shmitz

    aa Shmitz Old Hat

    Messages:
    1,129
    Positive Ratings:
    740
    It's pretty much opposite of this. Nodraw faces are the least important thing as they don't need to be planned as part of a level's major geometry like visibility control does. Also, skip faces have nothing to do with optimization.
     
  9. A Boojum Snark

    aa A Boojum Snark Toraipoddodezain Mazahabado

    Messages:
    4,769
    Positive Ratings:
    5,527
    None of the above. There is no order to do optimizing in. Any and all of the optimization methods should be done as soon as they are needed, where they are needed. Or else if they are just plain easy to do. (I put area portals in my tiny Stormcaller alpha just because it's really darn easy to slap them in some doorways)
     
  10. Waif

    Waif L7: Fancy Member

    Messages:
    413
    Positive Ratings:
    125
    I try to get my optimising started as soon as possible, the only thing I don't really have in my alhpas are proper prop fade distance, occluders, and really well placed hints- mine are just in the obvious generic spots :)

    A quick question of my own, does disabling vphysicson a prop (making them non solid) help optimisation?
     
  11. Shmitz

    aa Shmitz Old Hat

    Messages:
    1,129
    Positive Ratings:
    740
    :facepalm

    That's kind of a generic, tautological answer that could just as easily apply to putting on clothes (which has a practical order) as it does optimization.

    In other words, sure, all forms of optimization should be paid attention to at all stages, but there is still a practical sense of tackling the majority of a certain form of optimization before worrying about others, because they are needed sooner and in places that occur earlier in the development process.
     
  12. Nineaxis

    aa Nineaxis Quack Doctor

    Messages:
    1,767
    Positive Ratings:
    1,403
    I don't start worrying about optimisation entities and tool textures until beta. Naturally, in alpha, optimisation should be in the front of one's mind when laying the initial brushwork. Because an alpha is just simple geometry (or should be), I don't worry about taking large steps to optimise until there is detail and optimisation is actually needed.
     
  13. Vigilante212

    Vigilante212 L7: Fancy Member

    Messages:
    481
    Positive Ratings:
    33
    Ok from what i gather most people do the simple optimizing first and the more complex stuff later. I like to do the nodraw as soon as possible, just because it lets me compile my map alot faster. and I will stick in some area portals if needed.
     
  14. Nineaxis

    aa Nineaxis Quack Doctor

    Messages:
    1,767
    Positive Ratings:
    1,403
    Nodraw has zero effect on compile times. It removes unnecessary faces from being rendered in-game.
     
  15. Vigilante212

    Vigilante212 L7: Fancy Member

    Messages:
    481
    Positive Ratings:
    33
    Trust me it effects compile times :p
     
  16. alecom

    alecom L8: Fancy Shmancy Member

    Messages:
    516
    Positive Ratings:
    120
    Surely nodrawing a side means it skips working out if needs to be nodrawn, and hence there is less to do for the compiler?
     
  17. ParanoidDrone

    ParanoidDrone L3: Member

    Messages:
    147
    Positive Ratings:
    10
    I voted "Late" on the grounds that, if you're still in alpha, you'll probably make some rather big changes that will render any in-depth optimization moot. Basic stuff like func_detail stairs, etc. is a given and sort of basic, but hint brushes, areaportals, and probably other stuff I'm forgetting is best left until you've at least finalized your basic geometry imo.

    Also what ABS said.
     
  18. A Boojum Snark

    aa A Boojum Snark Toraipoddodezain Mazahabado

    Messages:
    4,769
    Positive Ratings:
    5,527
    There isn't any "working out" as VBSP will chop up the map and discard faces just the same. Even if a face is nodraw it still has to process the face to determine if it shall exist or be culled.

    Of course, nodraw behind things such as displacements are an entirely different issue, as it cuts down on light processing, but then those kinds of things should never be anything but nodraw in the first place.
     
  19. Acegikmo

    aa Acegikmo

    Messages:
    555
    Positive Ratings:
    490
    I use nodraw properly all the time, even when I'm just making the basic layout. Both hints and areaportals are also created during the alpha stages. When it reaches beta I usually do func_lod and fade distance optimization. At the release candidate I do lightmap optimization.

    Those are my 6 optimization techniques.
     
    Last edited: Jul 23, 2009
  20. alecom

    alecom L8: Fancy Shmancy Member

    Messages:
    516
    Positive Ratings:
    120
    Okay, thanks ABS