Menu

The Typing of the Dead: Window Resizing

2014-11-26
2014-11-29
  • Maniac of Madness

    Hello there. First of all, great job on your software! It only took 15 minutes of tweaking to turn an otherwise fullscreen only game to a windowed, easy-to-multitask process. Thanks a lot for making that happening!

    Here I am, however, asking help to make things run a little bit better.

    The game in question is "The Typing of the Dead". Using the "Set 16BPP RGB565 encoding" option in the "Color management" settings got me from a black screen with only sounds being played to a fully playable state of the game.

    The one thing I can't do, however, is resize the game's window. Even though the window's initial size is set to 800x600, it defaults to an unresizable 640x480 (the game's native resolution?), leaving me with the option to only move it around and minimize it. Maximization doesn't work, it only pins the window on the top-left corner while keeping the 640x480 resolution.

    Is there any setting I may have missed that will make the window resizable?
    Thanks in advance!

     

    Last edit: Maniac of Madness 2014-11-26
    • gho

      gho - 2014-11-26

      So far, not all games are resizeable when run with DxWnd. It's not fully clear why this happens, but at least you can try to set the desired position and size in the main configuration panel, and then check the "Lock win coordinates" in the Video tab. It usually works. In some cases, it's also necessary to add the "Prevent maximize" flag. Is it working?

       
      • Maniac of Madness

        "Lock win coordinates" does work. I'd like to mention that you can still try to resize the window, causing it to revert back to it's "original" size. Maximizing won't do that, so "Prevent maximize" isn't needed in case you were wondering.

        Using it together with the "Desktop" position really suits my taste, since the fake fullscreen mode is what I was looking for in the first place. I'd love to have some filtering in that package too, but "Fast 2X Bilinear" and "Full Bilinear" cut the game's 60FPS framerate to 30FPS and 15FPS each.

        Anyhow, thanks a lot for your support! Best wishes to you and your project.

         
        • gho

          gho - 2014-11-26

          If you don't mind that, setting the desktop (I mean, the real desktop) to a lower resolution should raise the framerate quite a lot.

           
          • Maniac of Madness

            True, but I'd rather avoid that, to be honest. Thanks for the suggestion, though!

             
  • gsky916

    gsky916 - 2014-11-27

    Fast 2X Bilinear should achieve best effect at 1280x960, the fps would significantly decrease while over this size, maybe you are running the game under 1920x1080 resolution?

    Full Bilinear in the latest release still have some performance issue, since gho introduced it as a new module...

    In my experiment, Full Bilinear with a well openmp implementation could be faster than Fast 2X Bilinear in a size over 1280x960, provided you have a very powerful cpu...

    Anyway, i recommend gho's suggestion:
    setting the desktop to a lower resolution.

    I suppose you don't like it because you need to change the resolution manually.. There is another way...If you have a 640x480(original size) game:
    1)Check "run in 640 x 480 screen resolution" in the game exe properties(compatibility tab)
    2)Set initial position&size to x:0 y:0 w:0 h:0, check x,y coordinates mode.(in dxwnd)
    3)Check "Modal Style" flag in the video tab.(in dxwnd)
    4)Run the game.

    System will automatically change your resolution when you start,and immediately change back when you exit....you wont notice screen changes when you run in a (fake)full screen...Most system drivers will provide a free filter(bilinear) with this method, you wont get any performance impact, since the GPU will do the work for you rather than dxwnd's slow CPU implementation....

     

    Last edit: gsky916 2014-11-27
    • Maniac of Madness

      I'm running it under 1680x1050, so that slowdown is indeed expected.

      The reason I don't prefer resolution changes is because they mess up the size settings of a specific taskbar utility I'm fond of. I'd have to resize it back after each time I'd play the game. I believe that utility must be affected by all resolution changes in general, so there's not much that can be done about it.

      I did try your settings though. Unfortunately, they gave me a black screen with only an oversized mouse cursor being visible, accompanied by the game's sounds playing in the background. The truth is that changing the resolution to 640x480 isn't really desired anyway, because the aspect ratio will then not be correct.

      That's what the game itself did in the first place without the use of DxWnd, and pretty much the reason I was in need of DxWnd's features in the first place.

       
      • gsky916

        gsky916 - 2014-11-28

        Weird..The "Set 16BPP RGB565 encoding" flag should still be checked in this method, and expected to work properly... but you get a black screen? Too sad...aspect ratio should fix by "keep aspect ratio" flag...

         

        Last edit: gsky916 2014-11-28
  • gho

    gho - 2014-11-27

    My fault, I checked the mp.dll file (holding the bilinear filter plugin) included in the last release and found that it was compiled WITHOUT openmp support (just look at the external dependencies: vcomp90.dll is missing).
    Replacing it with this one should recover the performance issue.

     
    • Maniac of Madness

      Using the updated "mp.dll" gets me a steady 30FPS framerate on "Full Bilinear". Definitely an improvement over the old method. And a keeper, too.

       
      • gsky916

        gsky916 - 2014-11-28

        This mp.dll still have problem...
        The performance issue did not fully fixed.

         

        Last edit: gsky916 2014-11-28
        • gho

          gho - 2014-11-28

          This is quite strange and should be investigated .....
          - Difference in advapi.cpp is only one log line, but this module is NEVER activated with the suggested configuration, and
          - difference in bilinear.cpp is null, I just replaced "unsigned int" with "UINT", that is exactly the same thing.
          So I suspect the difference lays somewhere else.
          @gsky: could you try to build the dxwnd project with just one change at a time and try to figure out whether the speed improvement comes from the difference in the first module, the second or (I suspect more likely) from the fact that your project settings are better tuned than mine?

           
          • gsky916

            gsky916 - 2014-11-28

            I tried to investigate...finally find out the culprit!
            The fact is your compiler setting didn't enable optimization at all!
            That means, you are more likely compiling with a dubug setting(although you selected the release mode).

            Attached is the fully optimized mp.dll, and it could achieve the expected speed. We should not mess up this thread, i will post the details in the other thread(a little optimization for bilinear filter). I'm in a busy now, so maybe a little later .....

             

            Last edit: gsky916 2014-11-28
            • Maniac of Madness

              This one gets me ~60FPS while using the original "dxwnd.dll", with colors being done correctly too. Good job there!

               

              Last edit: Maniac of Madness 2014-11-28
        • Maniac of Madness

          The new "dxwnd.dll" included in your attachment does give me an average of 60FPS — and some weird colors too.

           
          • gsky916

            gsky916 - 2014-11-28

            Please use "the original dxwnd.dll", that is the latest v0.99 dll which fix more problems.
            The problem is unrelated to the mp.dll and bilinear filter.

            In fact "the new dxwnd.dll" in my previous attachment is a v0.96 dxwnd dll(for experiment).
            I uploaded it several weeks ago. I didn't considered gho could improve color management in the later version, my fault....

             
            • gho

              gho - 2014-11-28

              Problem? Zombies as such look quite more terrific! I'd call it an improvement .... ;)

               
  • Maniac of Madness

    I've noticed that you've added an export file for TTotD on your new release. It seems you've forgotten to enable the "Set 16BPP RGB565 encoding" option on it, so here's an export with the setting enabled.

    Extra options you might want to tweak:
    ☐ Hook all DLLs: The game works without it, too. I don't know if disabling it is useful at all, though.
    ☑ Keep aspect ratio: The game was meant for 4:3 resolutions. Using anything else gets it stretched.
    --Cursor visibility-- ⦿ Hide: Purely aesthetic. It might be desired since the game doesn't make use of the mouse.

    The above are mostly products of preference, but hopefully considerable.

     

Log in to post a comment.