When I remove 1 character, it goes fast; same if I remove the other.
They both overlap; I've tried making them non-solid, and separating them so they don't overlap -- no change, still slow speed.
So, to clarify, the slowdown is only caused by 2 characters being in one room, not matter how they are located in relation to each other?
The 2nd character has a huge area (about 1/2 screen size), BUT 80% of that is blank space.
I need to note, that there's no such thing as "blank space" in terms of sprite's bitmap, blank space is still pixels, and having transparent areas requires engine to do roughly same work as if they had a visible color.
Because AGS stores sprites as raw bitmaps, it have to convert them into textures for display, sometimes "on the fly". Constantly updating a high high-resolution bitmap may slow the game down. I cannot tell whether this is a case or part of case here, that depends on other things.
* Does the big character animate?
* Which renderer are you using when running the game (software, Direct3D, OpenGL)?
* Do you have any large transparent GUI over your room? If so, may you also tell which version of AGS are you running?