Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disables G-Sync, at least in Grand Theft Auto Vice City #47

Closed
Archlogic opened this issue Sep 11, 2017 · 11 comments
Closed

Disables G-Sync, at least in Grand Theft Auto Vice City #47

Archlogic opened this issue Sep 11, 2017 · 11 comments

Comments

@Archlogic
Copy link

G-Sync and Vice City work properly with native D3D8 but using the wrapper introduces tearing indicative of running without adaptive sync or V-sync. This includes the newest version, v1.5.0, released 12 hours before this report.

@elishacloud
Copy link
Contributor

@Archlogic, I don't have a monitor or graphics card that supports G-Sync. I tried to research G-Sync to get an understanding of what d3d8to9 might be doing to break it, but it is hard to find that level of details on it.

Can you upload your log file? There may be something in it that will help isolate the issue.

@mirh
Copy link

mirh commented Nov 13, 2017

You can read some stuff here.
Otherwise, I think we could summon our graphics reverser overlord Kaldaien.

@Archlogic
Copy link
Author

Reporting back. I tried the latest release, 1.7.0, to see if the issue persisted, and it does. As requested, attaching d3d8.log.

The initial "re-experience" after not playing for a few months felt like molasses. On a hunch, I disabled vsync in NVIDIA Control Panel and it restored expected behavior: tearing but not lagging. I don't remember doing this initially but I must have and then it was reset by driver update. G-Sync is supposed to override vsync when inside the adaptive sync window, so it's not activating whether vsync is set to on or off. Normally I would toggle vsync in-game but my research indicates that Vice City tells the driver to turn it on and only explicitly disabling it at the driver level changes behavior.

Also, I felt that the game was too laggy with vsync on so I turned on RivaTuner to see the reported frame rate and it was 60. This is a 100 Hz panel. I set the CLEO frame limiter plugin to 90 fps, which the game respects with vsync off. I'm not sure I buy the 60 fps claim. It felt really slow. I'm thinking it's possible I was seeing 30 fps doubled or something like 24-25 on 60 as I believe that's where Vice City runs natively.

d3d8.log

@mirh
Copy link

mirh commented Dec 6, 2017

  1. Vice city runs at 30FPS natively. GTA:SA is the one @25 OOTB.
  2. Speaking of this last one, I read the modding crew on gtaforums saying that it has v-sync to work automatically with frame limiter. No direct confirmation for VC though.
  3. And no direct confirmation of what CLEO even does. P.s. I hope you are aware even that still leads to physical issues and all.
  4. Reason why, tbh, I'd recommend you to find some nice monitor setting for 30fps play and call it a day.

The issue is still worth investigating though.

@Archlogic
Copy link
Author

Archlogic commented Dec 6, 2017

CLEO is a scripting/plugin framework. There's a mod written in it that fixes physics at frame rates above 30. The only noticeable artifact is that double-tapping the horn to engage sirens becomes progressively more difficult as the frame rate increases. G-Sync works with vsync off, assuming d3d8to9 is absent. I ended up setting refresh fps to 50 Hz, 50% of the native refresh, which minimizes tearing. It's workable. Would be nice to have the whole package but what are ya gonna do.

@CookiePLMonster
Copy link
Contributor

There's a mod written in it that fixes physics at frame rates above 30.

Is there? I'm not aware of any - the ones which only increase FPS do nothing to issues so you will encounter them sooner or later, with their severity depending on how many more FPS you have compared to 30FPS.

@Archlogic
Copy link
Author

Then perhaps I'm mistaken and that the issues, other than the aforementioned siren activation, are too subtle to notice. In any case, we've veered well off topic, which is discussing d3d8to9's interaction with G-Sync. As I filed the initial report months ago, I am not currently playing Vice City or any other game that uses d3d8to9. However, I am not against a reasonable level of testing if the issue is fixable and I'm the only one around with a G-Sync monitor. Otherwise you can figure this as a known issue, or reported issue at least since you can't verify yourselves.

@mirh
Copy link

mirh commented Jan 30, 2018

So...
For starters I just noticed that you referred to "g-sync" as adaptive sync. It isn't, that's another thing. Right name is "variable refresh rate".

Aside of pedantry, I just remembered all the compatibility madness that might be going on in newest Windows.
Try.. to see if renaming game executable changes anything (or disabling the shit out of fullscreen optimizations)

@elishacloud
Copy link
Contributor

I did a little bit of research and troubleshooting on G-Sync and Grand Theft Auto Vice City (GTA:VC). It seems like GTA:VC uses PresentationInterval of D3DPRESENT_INTERVAL_IMMEDIATE and SwapEffect of D3DSWAPEFFECT_FLIP.

From what what I can tell G-Sync needs the presentation level to be set to D3DPRESENT_INTERVAL_IMMEDIATE for it to work. I could not find anything about SwapEffect and G-Sync so I don't think that is an issue. The latest update #68 I put a fix in to fix a possible issue with the PresentationInterval. However I don't think this will affect GTA:VC.

You could still try the latest patch to see if this helps: d3d8.zip

@elishacloud
Copy link
Contributor

This issue may be related to #85. It seems like there is an issue with the presentation parameters related to vsync when converting to d3d9.

Can you try this one: d3d8.zip

@crosire
Copy link
Owner

crosire commented Feb 3, 2020

Closing this as there has been no further feedback and it is likely to have been fixed in #87 or #108.

@crosire crosire closed this as completed Feb 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants