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

Memory leak on screenshot #78

Open
koperamichal opened this issue May 13, 2022 · 5 comments
Open

Memory leak on screenshot #78

koperamichal opened this issue May 13, 2022 · 5 comments

Comments

@koperamichal
Copy link

Hello,
it seems there are some memory leak issues again. I downloaded and built TestScreenshot sample, injected to Direct3D 11 game, captured 1000 images and it caused ~200MB memory leak in target process.
I tested it with 3 different games in windowed mode on Win10 10.0.19043 Build 19043.

@justinstenning
Copy link
Owner

I’ll check it out, sounds like the images aren’t being released OR it is just a bit of lag for the GC, have you made any changes at all or just using the codebase unchanged

@koperamichal
Copy link
Author

I didn't do any changes to be sure there is no problem with my code. And I found that leak because one game took 29+GB RAM, so you could exclude GC lag.

@Lakritzator
Copy link

I had a quick run through the code, didn't find a lot.

But I'm sure that created font here, stored in a TextElement, is not disposed: https://github.com/justinstenning/Direct3DHook/blob/master/TestScreenshot/Form1.cs#L268
But I do not know the project well enough to know if there are many such objects created.

@koperamichal
Copy link
Author

I'm sure that font is not a issue. Problem is the leak in target process not in Test application. I tried to run it on my old computer with Win7 a there was not issue there. It might be related to win10, drivers, hooks etc. I tested only games created by Unity, so there might be problem too.

@justinstenning
Copy link
Owner

@koperamichal I've looked into this quite extensively and it is definitely a problem but I can't seem to determine what is causing this exactly - I think you might be right about some driver related bits with D3D.

I did find a couple of minor leaks related to .NET remoting (leases being held, I'm looking forward to removing that in favour of a shared memory technique). I'll do some more checks and will leave this open for now.

@justinstenning justinstenning changed the title Memory leak Memory leak on screenshot Dec 13, 2022
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

3 participants