The source code isn't really "fixable". It's so far beyond that it's not even funny. Empires is weighed down by monumental technical debt. I honestly would love to be optimistic, I've been around nearly 5 years, but we've had a good run, and we'll make sure the next patch is as good as we can make it. After that, it's really a case of hoping for the best with any successor projects that people create, such as Factions. Empires on source will probably still be populated this time next year, but I highly doubt it'll be actively developed. I know people probably think I'm being pessimistic, but I'm just being realistic. I wish it wasn't this way, but it is. I'm not in the business of making false promises, I'm just stating the way things are and what you can honestly expect.
I did actually ask Jephir about that. He said it's something we should look at for the patch after this, i.e. never. But I'll ask again, he might have changed his mind. Marcin loved doing mapper entities so I'll see if he has a spare minute at some point.
Not worth the time, at least for me, sorry. If it was still summer maybe I could implement it. But at this point my time is divided up between too many projects.
It seems to cpu limited and not graphics limited what ever is causing it because if I looked in task manager and msi afterburner. The GPU usage is low (1GB geforce 460 overclocked) where as one cpu core is 100% maxed out constantly when playing empires... And this is on an overclocked i5-760 @ 3.8Ghz and 8GB of ram.....
I wonder if there is a lot of code not doing anything in empires(wait loops and such that still take up cpu because they don't sleep the thread they just loop over and over for an event to happen).
I don't get this 19% cpu usage*, 50% GPU usage, 5GB of ram left, 300MB texture memory left, but only 40FPS... It only seems to happen on larger maps as well. The only other game that drops my fps that low is BF3 on max settings. Nope. EDIT: Now I see it 100% usage on one core but only when empires is in the foreground (not minimized). I checked using procexplorer and it was hl2.exe filling up that core. I am running empires as -window -noborder if that has anything to do with it. It looks like something in empires' code is eating up cpu each frame. It's interesting that all the performance profiling/show budget things have vgui as the biggest eater of resources. EDIT 2: Even on the main menu as soon as empires is started one cpu core is maxed out constantly wtf.
see.. I told you so. Somewhere there is fubar code going on. If just sitting at main menu maxes out a core there has to be something wrong.
No-one denied Empires has issues with CPU usage, but tracking the issues down isn't easy. MOOtant did a lot of profiling to try and find some issues but never had a great deal of success, apart from fixing the old 2.24d vehicle lag issues.
Wasn't the profiling MOOtant did on the server and not the client? EDIT: I just looked at it launching HL2: Episode 2 and the same thing with cpu happens. So I guess this is in the engine code...... EDIT 2: I had another little play around I tried look at the +showbudget thing, firstly having fps_max set causes the 'unaccounted' bar to be huge so I turned that off. Then the bar for 'swap buffers' was huge. disabling vsync causes 'swap buffers' to stop taking up budget as well. The only bar left was of any significant size 'vgui' but the budget panel uses a lot of vgui budget according to that page I linked. Also as a side note the dynamic lights on emp_canyon does this if you alt tab back into the game.... I think it's something to do with the flash from the thunder. The first two things on +showbudget I mentioned about is probably just it showing the delay each frame in having the frame rate limited by vsync or fps_max.... The vgui took a reasonable amount up because of the budget panel it's self. Particles take up a little more budget than most other things but I wouldn't say "HUR DUR ITS THE PARTICLES!!" the only particles the seem to dent fps is arty shell explosions. I'm going to play with vsync disabled, fps unlimited and fullscreen mode to see if I drop to >40 fps again. If it doesn't then I will change each of these things back one by one until I find the culprit. I hate having vsync turned off though, the tearing gets on my nerves even at 200fps.. EDIT 3: The problem with fps dropping during late games still happens... I really can't come to any conclusion from all this though.... Maybe it's just that source engine is a rickety heap of old shit.
As soon as you minimize empires the cpu usage drops as if the game goes into a sort of low power mode. If you have a second monitor then have task manager showing cpu usage on the second screen while playing empires. I might play with the graphics settings a bit next time I get bad FPS. I have had things like some games being slow with CSAA but fine with MSAA even though MSAA is less efficient.