-
Notifications
You must be signed in to change notification settings - Fork 499
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
Direct3D Rendering on Windows #2215
Conversation
had really bad lag with OpenGL and AMD on windows, now using this branch 98% of the lag gone a small hick up every once in a while but other then that ill be using this branch from now on amazing work! :) |
Hmm.. On my laptop, this is very laggy and considerably less smooth. I haven't done any more investigation to find the cause yet, but I figured I should mention it. |
My initial guess is that it selects the wrong graphics adapter, as mentioned that code is pretty naive currently |
can this be rebased on to master or will it explode ? |
6e92f27
to
ea36885
Compare
@A-Lamia, I just pushed the re-based version. I had already done it locally, so it was easy. |
I've been using this for a week and as far as I can tell its just a straight improvement. Excited to get this merged |
I will create a new PR for the refactoring part first to make things easier to review. Then there might be some small cleanup needed. And I think we should also solve the adapter selection problem, I think that's what @sid-6581 are seeing, before merging. |
The code could also be a lot cleaner if we switch to |
54b4528
to
9c22461
Compare
e91b16f
to
11e7608
Compare
@sid-6581 I merged this as its a very large improvement on my machines which span a variety of specs. Can you try again with current main maybe with profiling enabled? I'd like to dig into what is going wrong |
So far so good after an initial test on my main machine with a 4090. I'll keep using it and trying it on my laptops as well to make sure everything looks good there as well. |
@Kethku I've done some more testing, and here are my findings:
Unfortunately I had to revert back to the commit before this PR to make neovide usable on both machines again. |
What kind of change does this PR introduce?
This switches to a Direct3D based renderer and finally makes the Windows render loop smooth with almost no frame drops, at least on my machine.
Using Direct3D will also improve the compatibility with older hardware.
NOTE:
--opengl
option.--no-vsync
option does not work properly at the momentAsus GPU Tweak III
causes Neovide to stutter when it’s running. Not because it messes with the GPU, but because it seem to do something to the Windows messaging system, all calls, evenPeekMesage
, with should be almost instant, take a long time to complete. In the case ofPeekMessage
sometimes a couple of ms, and several of those in a row will cause dropped frames. So, I suggest closing the program or find an alternative. Neovide is probably not the only application affected.Did this PR introduce a breaking change?
A breaking change includes anything that breaks backwards compatibility either at compile or run time.