Home Technical Talk

Optimization and hardwares

grand marshal polycounter
Offline / Send Message
Obscura grand marshal polycounter
Hi.I made a lot of levels for mobile games, so I can see where the limit in polycount at the mobile and other devices, and what I have experienced is strange... a map with 450k tri,Unity, no occlusion culling, no batching, shadows on, almost the full map is visible almost every time, and it gave more than 30 fps at the last Iphone 5 version.The another thing that I have tried out is to make a mesh from 50k tri, copy it 200 times in UDK , assigned a complex material to them, and it gave 30 fps at my pc.An another test on this pc was that I made a simple room, lit it with like 150 "ambient point light" and with 3 main point light.These point lights was casting shadows too, and it gave more than 30 fps on the same pc.Its an Intel dual core 2,7ghz (E5500), 4gb ram, gt640. So now I dont really understand that why we "exaggerate" the geometry and other optimizations that much especially at the pc/console games. I see why we did earlier, but not now. Could someone help me in this question? Have anybody thinking about this, or experienced about this?What is causing fps lowering in games? What hardware is responsible for what in games?

Thanks!

Replies

  • Eric Chadwick
    Options
    Offline / Send Message
    It's a very complex subject. Each game engine works a little differently; they're each optimized for different kinds of rendering problems. Unreal is optimized for PC shooters, Unity for web platformers, etc.

    Multiply that by the differences in hardware... each hardware platform (iPhone5, Xbox One, Wii, etc.) has different rendering capabilities and strengths/weaknesses.

    Would probably help to have a chat with a game graphics programmer.
  • monster
    Options
    Offline / Send Message
    monster polycounter
    Also, I think you are dismissing other elements of games. AI logic, pathfinding, Animation Updates, UI Rendering, and memory handeling. These are all resource hogs. Especially things like Physics and Skinning which are GPU tasks. Sure loading a static level is very performant, but add in everything else, and the visuals/rendering are the easiest thing to optimize.
  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    yeah this is probably true, this is why I'm asking about this here :) Anyways, we tested that unity level in action (with enemies, gameplay elemets, collisions, ui, menu, etc) at it gave good results. As I said, I'm interested more about how things are happening on the pc/console games.So if anyone could lit me up about why we chain the details under 1-2m tri/scene or a little more tris in the pc/console games, I would be grateful.Description about the hardwares-tasks would be also good. The result of the lighting test was also showcking...This is not arguing, I just dont see the whys and Im confused now. I know there are a few examples about more geometry/advanced technique using, but why just a few?

    Another. tessellation: As we know this can be really wasteful in a lot of cases, but people are using it in this case too sometimes. Wouldnt be better to use pre-made geometry?
    Lighting: I made a test with many shadow casting (they got softness with setting the res) and intersecting light too and it was still run good on my old pc.
    Materials: I made a test about this too and this gave good result too with a very-very complex shader too ( it displays red in the shader comlexity view mode, but i got more than 30 fps)

    So yes, there are tings like physics, ui, etc, but I cant really imagine that a simple ui can slow down anything since they are simple sprites.Sure, physics do...

    I would like to deepening more in this to understand better, why I/We are doing this "exaggerated" optimization.
  • Eric Chadwick
    Options
    Offline / Send Message
    In the past, we've used a profiler to write out stats during play tests. Examining those made it easier to identify which things were bottlenecks. I bet someone has written a nice profiler by now for Unity.
Sign In or Register to comment.