The author of this algorithm gave very dirty sources it looks like C\C++ part of them is outdate and don't update for a long time (it even don't use Super2xSai asm code that seems was added later), besides they even can't be compiled as they used some code from other projects (alegro).
Unfortunately I have no experience with asm and don't found any information how to use and compile this code. I need some help - I whant to use optimized MMX implementation for 2xSai, SuperEagle, Super2xSai upscalers that is written in assembler to make them faster. So in fact when you set 960x540 it changing to 960圆00 The main problem is that in code resolution is limited (sgp.cpp line: 1617): Why? I can understand why it don't work in fullscreen mode as it's not supported resolution for devices, but EXShell don't allow application to run in fullscreen mode, when it asked for fullscreen mode it says to game OK, but change request for windowed mode, and when it asks screen surface it give offscreen surface, so any resolution can be used with EXShell, even that doesn't exists and can't work in fullscreen mode. Some special resolutions do not work in Fullscreen by the Drawing-Engine JA2 uses.
RoWa21 If 960x540 does not work in Fullscreen, but in Windowed mode, than the there is nothing I can do. To make your game working good you need to get such options for recive CPU load below 80-100% with FPS that satisfy you. As old games don't use severall CPU 100% is limit, if they can use sevaral CPU don't be surprised to see 200%). In any cases try and look on OSD to see curent value of FPS and CPU load (for most easy 100% means loading not all CPU, but only 1 core. As I'm not win8 user I don't know much about this. If you are Win8 user, then possibly problem can be related with problems of compatibility DirectDraw on Win8. Also disable strectching for blitter will give litle increase performance, but not such large as disabling filters. Turn off console and OSD that willn't give much, but will little increse perfomance.
Try to decreese FPS limit, many old games don't update screen often so even with 20-40 FPS you can see same as with 60+ See redme for perfomance tests of filters (result was getted from my PC, results can differe on other hardware) So try to change them, you can disbale upscalers at all if you choose None filter. Perfomance dependes first of all on game resolution and applying filters. How to inprove performance for rendering: * Added: sending customise keyboard keys scancode at lose and get focus. * Added: separating FPS limit for focused and unfocused application window * Added: saving screenshots by PrntScr hotkey (Ctrl+PrntScr to save original image) * Added: info about selected filters and game mode in OSD * Change using instruction sets: MMX, SSE, SSE2, AVX * Change startup initialization for more safety * Fixed: Related paths for $StartPEPath: don't work. * Fixed: SuperEagle filter crashed application. * Fixed: FPS limit ignored after minimize\restore application Supported filters at this moment: None, GrayScale, Simple (2x, 3x, 4x), Pixelate (2x, 3x, 4x), Scanlines (2x), ScanlinesTV (2x), MotionBlur (2x), 2xSaI (2x), SuperEagle (2x), Super2xSaI (2x), EPX (2x), AdMame (2x), LQ (2x), HQ (2x), XBRa (2x, 3x, 4x), XBRb (2x, 3x, 4x), XBRc (2x, 3x, 4x). In future will be comptible with most other games.
Tested with original JA2 version, mods 1.13 and Metavira, in theory must work with any JA2 version or moddification.
ExShell also provide some other abilities, like setting FPS limit or lowing CPU usage (see config for more details).
" Essence XWnd Shell" aka ExShell is hook based application for force running old games (or ant other full screen applications) in windowed mode with different graphic filters (for example upscalers like 2xSaI).