VOGONS


First post, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I've looked into the slow performance I posted about earlier regarding Dungeon Keeper Dungeon Keeper speed issue

I had an idea that profiling might show where an unusual amount of processing is going on in DOSBox. After changing the configure file to add the compile flag, I made a clean build of the 0.72 source with profiling enabled.

I used the same path through Dungeon Keeper: run it, start a new game, take first-person control of a creature, let it sit awhile, exit. Basically trying to avoid comparing apples to oranges as much as possible. I did two such runs -- one with no filter on the creature's vision, and one with a filter that results in slow performance. I dumped the profile data to text files with GPROF, and there does seem to be a very prominent difference in one procedure: RENDER_StartLineHandler in render.cpp

I looked at that code, and a super wild guess is that some kind of cache thrash is going on; but I'm not sure what approach to take that might yield useful information. The attached zip file contains the two profile dumps, and I could use some advice on things to investigate.

Attachments

  • Filename
    DKPROF.ZIP
    File size
    160.33 KiB
    Downloads
    536 downloads
    File comment
    Fast and Slow profiler dumps from Dungeon Keeper
    File license
    Fair use/fair dealing exception

Reply 2 of 2, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Also GhostView, and maybe others I haven't tried that kind of swirl the pixels on the screen. Maybe it's how often it has to redraw... I mean, if you're running along in DOOM, I imagine there are a lot of pixels changing, too.