OT: python performance (was: Re: Scrolling fields (was: RE:
Desperate plea to FP Tech...))
Fairlight
fairlite at fairlite.com
Fri Jan 20 11:57:54 PST 2006
When asked his whereabouts on Fri, Jan 20, 2006 at 02:20:21PM -0500, Doug
Luurs took the fifth, drank it, and then slurred:
> Civilization 4 has a python engine, and once you get going on higher
> levels of the Game, it DOGS .. I mean I have a fairly fast machine for
> my gaming, and it slows down To a crawl at times. Whether that's the
> way the engine is wrote, just processing a lot of information, or just
> python's normal speed, I don't know .. But I don't think I'll be learning
> it anytime soon.
I thought I read that when I got it. Just wasn't 100% sure and didn't look
it up again, hence the "I believe" qualifier.
Are you talking about further into the timeline, or higher difficulty
levels. Highest I'll play on currently is Chieftain. If higher difficulty
means more look-ahead like in chess, it's only reasonable that it would
take longer.
FWIW, I'm using a P4-3GHz, 2GB RAM (400MHz). Also, Civ3 runs about the
same speed, and that was -not- written in python to my knowledge.
As for python performance tanking under heavy load... EVE has performance
issues. Especially when a lot goes on at once--say, in fleet battle, or
even squad battle. Five or six player ships against 2 NPC pirate vessels
shouldn't be a problem, but it's not even the graphics card. Some of us
think it's networking, some of us think it's that the server can't hack it.
They've actually started doing things like reducing the amount of drones
you can carry so there are less objects in the world to contend with. This
speaks again to a performance issue, although it's not the first game to
hit this issue--Ultima Online encountered it in C++, and EverQuest has
issues with crowded areas with a lot of activity (try attending a mass
group blessing on the Plain of Knowledge sometime...even your own UI slows
to a crawl or at least a slow jog, depending how beefed your machine is),
also in C++. It seems like it may be slightly slower in python, but not
enough to be worse than poorly written C++. In some situations, more
firepower is simply needed than is available. MMO's are a lot more
demanding than you would think at first blush.
Basically, I think with the MMO situation, in any language it's a matter of
resources available to handle all the units and items within the immediate
area. Think about every object, all the collision detection, model
placement and movement, effects triggering--it's just a lot to take into
account.
Now on Civ4 specifically, I note that it seems -much- faster than Civ3
at the about equivalent timelines and unit counts. Even with a lot of
units built up, the speed seems to me to be 2-3 times as fast on the actual
decision-making when you end a turn. You might try turning off show moves,
both friendly and enemy. That'll speed it up some, as it's reduced to pure
calculation. I still stay it performs better than Civ3, all the way to
the end of a game, even on a Huge map on Epic speed. I'm trying the new
Marathon speed right now, but have been involved in some work issues and a
few other games that have me at a standstill currently.
So far I not only think it's better in performance than Civ3 and Alpha
Centauri both, I think it's a much better experience on the whole, with the
new interface and whatnot. Incidentally, if you get "Pirates!" you'll see
where their interface redesign came from. :) The zooming
rotated-isometric view is present there as well, and it feels very similar,
although I think that's in C++.
Curious which you meant--nearing endgame or higher difficulty. And your
CPU/RAM specs would be interesting as well.
mark->
More information about the Filepro-list
mailing list