First of all I know GZDoom has historically had problems with ATI cards, and so I know not to expect too much. I'm wondering if there are any options or things I can do to improve my performance.
I get pretty low fps counts with levels that go far beyond what vanilla Doom was meant to. The latest map I'm having problems with is The Spire 2 (also requires gothictx.wad) so I'll use it as a test case.
With GLBoom+, looking up from the starting point at the large tower (as in the screenshot), I get about 55 fps.
With GZDoom under my "normal" settings (1024x768, dynamic lights on but shaders for lights off, most other things maxed out) I get ~7 fps.
If I disable fog and set the lighting mode from Software to Standard, I get up to ~14 fps.
I saw somewhere a command-line switch -sm2 (disables shaders entirely I think?), using that I can get a tolerable 21 fps. However the framerate is quite unsteady, moreso than normal. Can this be set in the options or zdoom.ini anywhere?
Any of the other settings I've tried have no effect (or maybe 1 fps combined) on the fps, including texture filtering, AA, screen resolution, HQ resize, etc., which makes me think there's a bottleneck somewhere.
Anyhow I'm sure you're quite sick of mystery ATI card problems by now, just wondering if there's a quick fix I haven't tried yet.
I see you are losing quite a bit of time outside the actual renderer. In the last screenshot only 20% of the entire frame time is spent inside actual rendering code which is the only thing you could speed up by disabling rendering features.
I think this map is just too much for ZDoom's play engine.
But something must be wrong with your driver if your card gets such a speed boost from switching to -sm2.
If you want to gain some more performance, the first thing to do is to disable dynamic lights. In cases like this they cause quite a bit of overhead.
Graf Zahl wrote:I see you are losing quite a bit of time outside the actual renderer. In the last screenshot only 20% of the entire frame time is spent inside actual rendering code which is the only thing you could speed up by disabling rendering features.
I think this map is just too much for ZDoom's play engine.
Thanks for the reply. I guess that's not too surprising, my CPU is quite old. Maps that go far beyond what Doom was meant to do are of course very common now... Oh well, perhaps I'll have to shop around for other ports until I can shop around for a better computer, at least for large maps.
But something must be wrong with your driver if your card gets such a speed boost from switching to -sm2.
If you want to gain some more performance, the first thing to do is to disable dynamic lights. In cases like this they cause quite a bit of overhead.
Forgot to include that I did disable dynamic lights for the 2nd test, which helped slightly, but not as much as I'd have thought. I've tried playing with my drivers today, with no improvement sadly. Shaders have always been a problem with anything on this computer; maybe it's a case of the CPU not being able to keep up with the video card? (Athlon XP 2400 vs Radeon HD 3650 AGP) Whatever the case it looks like the kind of problem that's best solved by throwing money at it. Ah well.
Your hardware looks ok. What puzzles me is the behavior of your driver. It provides a speed boost where none should exist. The rendering times on your first shot are far, far too high for your hardware.
From the startup log it looks like you use the manufacturer provided driver. Have you ever updated to a more recent version from AMD?
Before throwing money at it it might make sense to test a driver update first. Radeon HD3xxx should be good enough for a somewhat better frame rate.
Well the card isn't officially supported by the AMD drivers, so getting them working was not an easy task. I got it mostly working, the drivers will install through the Device Manager but the extra software won't. Which isn't a problem, really.
Anyhow not much change, though I haven't had much chance to test it. I get a few more FPS without anything disabled on that section of that level, but it's still quite low. Other parts might be a bit worse though... using shaders for dynamic lights absolutely slows everything down to a crawl now, less than 1 fps if there's a single dynamic light visible. I'll try some more thorough tests soon but I'm not too optimistic.
Back in earlier versions of GZDoom when you could customize which shaders were on or off I noticed a similar speed boost when turning off certain shaders on an ATI card. I think the dynamic light and fog shaders were most responsible for the speed differences.
Spoiler: Zen Sarcasm
1. Do not walk behind me, for I may not lead. Do not walk ahead of me, for I may not follow. Do not walk beside me, either. Just pretty much leave me the hell alone.
2. The journey of a thousand miles begins with a broken fan belt and a leaky tire.
3. It's always darkest before dawn. So if you're going to steal your neighbor's newspaper, that's the time to do it.
4. Don't be irreplaceable. If you can't be replaced, you can't be promoted.
5. No one is listening until you fart.
6. Always remember that you're unique. Just like everyone else.
7. Never test the depth of the water with both feet.
8. If you think nobody cares if you're alive, try missing a couple of car payments.
9. Before you criticize someone, you should walk a mile in their shoes.That way, when you criticize them, you're a mile away and you have their shoes.
10. If at first you don't succeed, skydiving is not for you.
11. Give a man a fish and he will eat for a day. Teach him how to fish, and he will sit in a boat and drink beer all day.
12. If you lend someone $20 and never see that person again, it was probably worth it.
13. If you tell the truth, you don't have to remember anything.
14. Sex is like air. It's not important unless you aren't getting any.
15. Don't squat with your spurs on.
16. Some days you're the bug; some days you're the windshield.
17. Don't worry; it only seems kinky the first time.
18. Good judgment comes from bad experience, and a lot of that comes from bad judgment.
19. The quickest way to double your money is to fold it in half and put it back in your pocket.
20. A closed mouth gathers no foot.
21. Duct tape is like the Force. It has a light side and a dark side, and it holds the universe together.
22. There are two theories to arguing with women. Neither one works.
23. Generally speaking, you aren't learning much when your lips are moving.
24. Experience is something you don't get until just after you need it.
25. Never miss a good chance to shut up.
26. We are born naked, wet and hungry, and get slapped on our behind. Then things get worse.
27. Never, under any circumstances, take a sleeping pill and a laxative on the same night.
28. There is a fine line between "hobby" and "mental illness."
29. No matter what happens, somebody will find a way to take it too seriously.
30. There comes a time when you should stop expecting other people to make a big deal about your birthday...around age 12.
31. Everyone seems normal until you get to know them
The dynamic light shader is still optional because it needs to transfer a lot of data to the graphics card and this causes performance problems on some (and doesn't work on others.)
The fog shader, though, is standard issue math that's commonplace in anything recent - and if this causes performance issues it's time to upgrade the hardware.
A Radeon HD 36xx shouldn't have any problems with shaders, though. No GL 3 compatible card should.
It all doesn't help if the CPU can't keep up, though, and that seems to be the problem here. My old system also had problems running such large open maps at decent frame rates
Yeah it's almost certainly a CPU issue. I had thought or hoped that given the performance difference between GZDoom and GLBoom+, and the reputation of GZDoom having worse performance on ATI cards, that I could get better performance with some GPU tweaking, but this doesn't seem to be the case.
That hacked AMD driver was causing minor but definite stuttering elsewhere so I've gone back to the manufacturer's drivers. Perhaps I didn't get the hack right but the performance difference is very minor, certainly for GZDoom anyhow.
Sorry for reviving old topic but I found an unexpected solution to this same problem with my Radeon Mobility 4650 video card.
Long story short: close Catalyst Control Center on the taskbar...
I have Win XP SP3 now, I closed all other programs that were running (Chrome and VLC Media Player) and ran Gzdoom. Slowdowns were the same, getting 5 to 6 fps on any Pirate Doom map where there is a wide open area with lots of architecture features. Unplayable. Disabling everything wouldn't solve it, resizing to low-res wouldn't either.
THEN, I had the idea of closing Catalyst Control Center on the taskbar, as someone mentioned on another tech support forum.
BOOM! Just closing CCC stopped with all the slowdowns! I use an external program to cap my fps to 30 called DxTory (so my GPU temps remain under control). Further experimentation showed that after closing CCC, I can run GzDoom alongside other programs without any problem or slowdown. Another proof that ATI sucks major ass! Avoid ATI video cards as hard as you can. Not the first game which has ATI-exclusive problems.