Code Monkey home page Code Monkey logo

Comments (17)

elishacloud avatar elishacloud commented on May 21, 2024 3

This should be able to be fixed by clamping the available VRAM reported to 2GB or less.

dxwrapper already has this feature. By default it limits the VRAM of all ddraw games when using the ddraw wrapper. Below is a copy of the latest wrapper. I tested with Raymond 2 using DirectX 6 and it seemed to work fine with this wrapper. This also is able to convert Raymond 2 from using dinput to using dinput8.

Download here: ddraw.zip

from dxwrapper.

RibShark avatar RibShark commented on May 21, 2024 1

The issue is caused by the game interpreting the available amount of VRAM as signed, so it often overflows into the negative, and the game uses the lowest scale textures that it can to try and "fit" into the negative VRAM. This should be able to be fixed by clamping the available VRAM reported to 2GB or less. DxWnd can fix this by it's "Limit Available Resources" fix.

from dxwrapper.

RibShark avatar RibShark commented on May 21, 2024 1

@RibShark When will your "Better Rayman 2" fix be coming out ? 👀

Maybe soon, I want to try and hook nGlide and add MSAA/Anisotropic support, external config loading, and support for starting in Windowed mode. Then I can use nGlide with the fix rather than dgVoodoo (which has some vsync issues with Rayman 2).

from dxwrapper.

elishacloud avatar elishacloud commented on May 21, 2024 1

Thanks. Though dgVoodoo works very different from dxwrapper and the dgVoodoo code is not available. Dxwrapper is focused on generic engine that works for all games. That looks like a code update for a specific game.

BTW: I implemented a generic feature like that in dxwrapper called AutoFrameSkip. The idea is to prevent the game from waiting for the next v-sync. It is not a perfect feature, but it solves the same issue.

from dxwrapper.

elishacloud avatar elishacloud commented on May 21, 2024

For some reason DDrawCompat does not work correctly with this game. WineD3D tests each screen mode one-by-one which is why it takes so long. In the d3d8to9 project I cached the screen modes to fix this. But I have not put in a fix like that for ddraw yet.

There is a lot more that needs to be done to fix this properly with dxwrapper. However, I have the GOG version of Raymond 2. It is using the dgVoodoo 2 Glide driver rather than DirectX 6. The updates below should work for you. Download the update below and extract it to the Raymond 2 folder (overwrite any existing file). This has a few other enhancements in it also, such as converting dinput to dinput8 and forcing higher quality sound.

Here is the download: Raymond2.zip

from dxwrapper.

deton24 avatar deton24 commented on May 21, 2024

It looks like your own version of Glide wrapper with some DirectSound implementation :)

Thanks!

Generally you can change renderer to DX6 on GOG version.
Just follow the steps here:
https://pcgamingwiki.com/wiki/Rayman_2:_The_Great_Escape#No_options_to_choose_in_GXSetup_.28GOG.2FUplay_versions.29

I think incompatibility of your main DX6 ddraw wrapper don't have to be connected with fast detecting of resolution.
The newest version of wine wrapper don't have this problem, and renders this game correctly.

from dxwrapper.

elishacloud avatar elishacloud commented on May 21, 2024

I was able to change the game to use DirectX6 and see the issue. I did not create DDrawCompat and I have not looked into fixing it since it is maintained by someone else and I have a lot of other items I am looking into. The dxwrapper does have support for converting DirectX1-7 into DirectX9 which is about 75% complete for 2D apps. However Raymond uses 3D and I have not implemented 3D yet.

As far as WineD3D it is good to hear that they fixed the delay issue on the latest version. However WineD3D can cause other performance issues since it converts DirectX into OpenGL. I suspect using Glide directly should be faster than using WineD3D. I did not write the Glide wrapper either. That was done by dgVoodoo.

Anyways it will still be quite sometime before I will have dxwrapper able to convert DirectX1-7 3D into DirectX 9.

from dxwrapper.

deton24 avatar deton24 commented on May 21, 2024

Thanks for your replies!

Yes. WindeD3D has FPS drops, that's why I was using your wrapper before, when it was working. It worked like a charm. Just all overlays needed to be hidden/disabled to avoid performance issues.

from dxwrapper.

mirh avatar mirh commented on May 21, 2024

Wined3d would probably have far better performance if amd's opengl driver didn't suck so hard

from dxwrapper.

Keith94 avatar Keith94 commented on May 21, 2024

@RibShark When will your "Better Rayman 2" fix be coming out ? 👀

from dxwrapper.

Keith94 avatar Keith94 commented on May 21, 2024

Did you notify the dev about the "vsync issues"? Anyway, eager to try your "all-in-one" fix for the game.

from dxwrapper.

RibShark avatar RibShark commented on May 21, 2024

Did you notify the dev about the "vsync issues"? Anyway, eager to try your "all-in-one" fix for the game.

Yes, he is aware of them.

from dxwrapper.

deton24 avatar deton24 commented on May 21, 2024

GODDAMN! It works!
You rock, elishacloud!

Attached INI is also required to fix the problem (otherwise the bug still exists).

As in provided link before, If anyone has error of enumerating resolutions, run Rayman 2/GXSetup in XP SP2 compatibility mode or make ubi.ini with such content:

[Rayman2]Choose = 1GLI_DllFile=GliDX6
GLI_Dll=DirectX6
GLI_Driver=display
GLI_Device=Direct3D HAL
GLI_Mode=1 - 1920 x 1080 x 16
GLI_DllFile=GliDX6
Language=English

Curiosity. In Uplay version with Wine wrapper, it is written "HEL" instead of "HAL" in original ubi.ini provided.

from dxwrapper.

deton24 avatar deton24 commented on May 21, 2024

This new ddraw library introduced FPS drops in certain places (e.g. start Fairy Glade and turn back on the small bridge ahead).
It looke like the new ini itself fixes the problem.
\Stub\ddraw.dll from the last official release works without these FPS drops, and graphics are fine.

Once more, thank you.

Ribshark, you too.

edit.
As far as I remeber testing v1.0.6334.21, it wasn't able to launch the game.
Linked zip post above worked:
https://github.com/elishacloud/dxwrapper/files/3268068/ddraw.zip
But v1.0.2383.20 was faster:
https://github.com/elishacloud/dxwrapper/releases/tag/v1.0.2383.20

Just use ini from zip above

from dxwrapper.

elishacloud avatar elishacloud commented on May 21, 2024

Closing.

from dxwrapper.

deton24 avatar deton24 commented on May 21, 2024

Might be useful.
Dege from dgVoodoo repaired literally all DX6 (and Glide) 30 FPS lock issues by modifying the game renderer. More technical info:
https://www.vogons.org/viewtopic.php?p=855828#p855828

from dxwrapper.

deton24 avatar deton24 commented on May 21, 2024

Thanks for the response!

Shame that AutoFrameSkip is only available in currently unsupported in Rayman 2 Dd7to9.

Regards

from dxwrapper.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.