Back on topic, I played a game on vipers today and actually remembered the real reason why I quit in the first place. Horrible Fucking Frames Per Second. Nothing in game justifies having under 20 fps. It is the same situation I had with crowded games on Xroads back in 2.0 days, when I had a shitty pentium 4 and a radeon "on par" with the cpu. At least then it made perfect sense for me to get shitty frames. Game slows down when you look at the centre of the map for no apparent reason, just like the whole quake-old technology of not rendering stuff you are not seeing at the moment is not working anymore. For reasons beyond me SVN is a little better in that regard. I actually made a stupid mistake of not asking people that I know play emp in ridiculous resolutions (cough, trickster,cough) how is their performance and settings. Still, I felt the need to point that out, seeing as source mods are now in the "my old pc can hanfle this" niche for gamers. Edit: in advance, sorry about shitty punctuation, I feel like shit and cannot be bothered by it.
Empires FPS degraded in every single release. Some maps just have points in which FPS tanks once the game has been going on a while (BE main on Coast for exampe), and the fact is, we have absolutely no idea why this kind of thing happens. People always blamed particles but they have absolutely nothing to do with it.
It's gonna be one of those "found that xxxx wasn't getting freed properly, took 5 seconds to fix" kind of things.
Well, I'd search code somewhere around when empty did his thing, because, I remember how I got from mean FPS ~200 to around crappy but still playable ~40 around then. Be it code or not, something got seriously broken then. Search code as in see where the changlelog says something was fiddled with in certain realeases.
I've run a performance profiler while playing emp_money in single player. I spawned and walked around for a bit, switched to different classes, then built a vehicle and drove over the enemy CV and blew it up. Quick summary: VGUI 24% - minimap 6% - icons 4% - vehicle HUD 2% 3D rendering 20% - translucent objects 10% -- map smoke particles 5% - entity lookup 4% particle simulation 4% string comparison 4% player animation 4% vehicle animation 3%
If I understand the picture shows a CPU usage bar and also it is shows how many samples are on the screen per tic right? If that is true then, does the VGUI take up substantial processing since it is at 24% or does the engine handle it like any other GUI and not worry about it till it needs to change something on it?
I know that when we used to run budget assessments, there were a lot of things that spiked, so I'm not sure how useful an average can be. As much as some people probably don't want to hear it, the best person for this kind of work, in knowledge at least, is MOOtant. He knows just about every way you can profile the game.
You can use CodeAnalyst, VProf, Visual Studio perf analysis and maybe something else that I forgot. There's benchmark cmd in Source that disables renderer, UI and so on each one separately and tells you which gave what FPS boost. Performance should have been tracked release by release or every dev should be playing once per release on older computer. I can imagine that things that can take longer than necessary are related to scripts - looking up entries by hash (or RB tree) is more expensive than by integers in an array. Last time I looked there were some pieces of code that used costly lookups on each player think on client. CodeAnalyst only traces CPU use in code we can compile. Engine CPU use won't be visible or at least properly attributed. Visual Studio perfanalysis is quite good. As far as I remember my final thought was that model/brush renderer is just awful and has to be rewritten. According to leaked code it treats models as hell knows what that only happen 5 times per screen. They might have cleaned it up but you never know. That shouldn't be that hard, BSP format is quite easy to parse, you can also find code online like webgl-source. But if you're rewriting renderer you might redo everything from scratch.
Overall that's a good idea (bisect) but it'd also require updating SVN to specific version of data without which Empires wouldn't run properly. Slightly tedious but it can be done.
You could always disable one potential cause and play for a while, if it still happens it's not the cause, if performance is good it's probably the cause, if performance only improves a bit it's a part of the problem.
It sure is strange that it runs 40fps on good computers, yuppers. The real reason people don't play is that there is no "begin" audio sound when the start timer runs out and you can spawn. I am blind so I don't know when I can spawn. But for reals it would help.
The repetitiveness arguments are invalid - CSS is a fucking bore in my opinion but that doesn't stop thousands of people from playing it nearly 24 hours a day since 04' - The problem with Empires is that the community is so fucking weird and hostile to everyone that nobody even cares to learn the majesty of whats been created because all they've been told to do so far is fuck off. I have to command constantly because people are afraid to learn how because vets just bite their god damn heads off. Its the people, Empires is a lot more fun and varied than CSS, its not a boring game and I challenge any of you to say you've played really bad games with 64 people in them. It really wouldn't take much to revitalize this game, throw a few hooks out on moddb, get a dedicated coder or two and someone to hit PR and get the train rolling again (which btw is how any of this has come this far), the only way to fix the people problem is to bring new ones in with new content in new releases.
Bitter-vets need to be concerned with helping new player rather than freaking out over not winning every single game. Plus fixing up the source code and a general graphical overhaul wouldn't be too bad either.