Unity on older machines

I’ve been developing a game on a MacBook pro, and recently started testing it on some other machines. I’m not quite sure what my polycount is (on that note, I can’t find documentation on how to check the polycount. Can anyone point me in the right direction?), but I don’t think the graphics are particularly excessive. When I tried it on an older machine that ran WarCraft III just fine and the Mac version of Halo with few problems, it chugged ridiculously. I also found that games like Blush chugged similarly.

So do Unity games just not run particularly well on old machines? Is there a particular driver or something that they might have been missing that would make things run smoother? Is there a particular optimization feature that would be solving a lot of problems? (The older computer I’m testing it on is one of the original iMac G5s, which seems to me isn’t that ancient).

they run well if they were designed to do.

This especially means:

  1. Webplayer must offer the lowest quality levels and scale up accordingly (island demo)

  2. Much more important: the drawcalls must be appropriate (1000 is out of reach if it is meant to run on crap, as heavier shader usage is)

The densest section of the level has 28.8k tris, 35.5k verts and 402 Draw Calls. Texture usage is 45 - 14.0 MB (I’m a little unsure what that means, does that mean 45 different textures that take up 14 mb? Or 45 textured items?). I don’t have enough experience to know how high or low any of those stats are as compared to various games and graphics capabilities.

If you do a standalone build you can choose the quality.

For the editor and web builds, you define the graphical quality by setting them in the quality dialog in the editor.
Check out the properties you can set there and you will likely see why it can perform good just as well as bad depending on those settings.

The documentation contains more information on this and especially it contains a few pages that are dedicated to optimizing the game.

I’ve had a couple people with G4s say my stuff runs smoothly, so yes Unity games can run well on older machines if properly optimized. 402 draw calls is kind of a lot for slower computers…the more of these, the more CPU intensive the game is and the slower it goes. Try combining stuff and get it <100.

–Eric

I think I may have figured it out, at least partly, although I haven’t checked for sure yet: the parts of the game that lagged intensely had a lot of lights. Getting rid of all the point lights leaves the game with an average draw call count of about 200. I’ll see if I can replace most of my lights with various other techniques.

Lights are more or less a total no go on older hardware.
They will fallback to hardware lights and the overhead of hardware lights is pretty massive, so yes looking at lightmapping and using it should raise your performance drastically.

Lights can cause geometry to redraw once per light so they are lit correctly.

Pixel lights, anyway. Vertex lights are pretty light (heh) and don’t cause extra draw calls.

–Eric