Home General Discussion

Optimization for Video-Games

polycounter lvl 14
Offline / Send Message
chrisradsby polycounter lvl 14
Hey polycounters, lately I've been getting more and more into optimization for video-games, at least the kind of optimization that artists usually have to deal with in a professional environment. Mainly talking about and digging deeper about the skills needed for a good world environment artist/leveldesigner.

Generally I like to have a foot into the technical side of things to be able to bridge the gap between programmers/tech-artists/artists.

So far I've come in contact with
- Lodding
- Culling
- Dealing with draw calls, shader optimizations, hard/smooth edges and how engines deal with polys.

I thought we could use this thread to try to learn from each other, we all are working on different types of games. We must have different experiences when it comes to dealing with optimization. General rules that are good to think about.
I don't know if it's alright to talk about the methods you guys used on the games you worked on etc, but maybe we could point each other in the right direction.

Right now I'm really intested in articles regarding optimization for open-world type games. As some of you know I've been working in the racing genre and I bet the methods are different when working with other types of video-games. If you guys are sitting on any cool level-design optimization articles please post them :) I bet there are some tasty GDC lectures and stuff that you guys have links to.

I bet this thread could be helpful for students as well to get a better insight into the technical optimization side of game-art/level-design.

Replies

  • leilei
    Options
    Offline / Send Message
    leilei polycounter lvl 14
    A little common sense something to get the ball rolling:

    In OpenGL 1.x/2.x you'd want to stick to using as least surfaces and textures as possible. Texture atlas your particle textures.

    I LEARNED THAT THE HARD WAY!
  • sprunghunt
  • danshewan
    Options
    Offline / Send Message
    danshewan polycounter lvl 8
    Great idea, Chris. I don't think this topic can ever be discussed too much.

    These articles were profoundly helpful to me when I first started reading up on this side of game development. I'm pretty sure they're in the wiki, too. I'm also pretty sure I should be re-reading them.
  • chrisradsby
    Options
    Offline / Send Message
    chrisradsby polycounter lvl 14
    Thanks guys!
    I can tell you guys about one of the problems we've happened upon during our project. We got tasked by a senior artist to optimize some tracks, we thought okay no biggie!
    The track used a PVS-system, which had nodes placed throughout the racing-line that determined which object would be rendered at that specific point on the track.

    What we realized was that the node where hitting the tops of really tall buildings, so we thought: Okay, let's cut all the tall buildings into several objects. Little did we know that we actually could make the performance worse.

    We ended up cutting up too much, which increased the number of objects in the scene and actually created more and more drawcalls. We had to ask ourselves: In this area is the CPU or the GPU more affected and had to do judgement calls from there to balance it all up. In the end you actually can optimize "too much".
  • Eric Chadwick
    Options
    Offline / Send Message
    Yeah, you can definitely over-optimize, although it sounds like what you had was lack of concrete info about WHAT to optimize. Sounds like you need more realtime stats about what the current (and recent) frames are doing. Like what is the cost of physics, vs. draw calls, vs. transforms, vs. graphics bus, etc.

    Sprunghunt and Dan mentioned the wiki, here's another page that has more articles, incl some good Polycount threads.
    http://wiki.polycount.com/CategoryWhitepapers#Game_Renderer_Articles
Sign In or Register to comment.