Comments (10)
Is this a Release or Debug build? When you run this under the Allocations instrument and mark generations, where do you see the accumulation?
from gpuimage2.
I get this in debug and release builds. When I profile under release, looks like a lot of the memory is of the category Malloc 1.17 MiB
, last few calls in the stack trace are:
swift_slowAlloc
specialized static UnsafeMutablePointer.alloc(Int) -> UnsafeMutablePointer<A>
specialized PictureOutput.cgImageFromFramebuffer(Framebuffer) -> CGImage
specialized PictureOutput.newFramebufferAvailable(Framebuffer, fromSourceIndex : UInt) -> ()
So it looks to be happening when the PictureOutput creates the CGImage, the memory just never gets released?
Let me know if I can provide any more info!
from gpuimage2.
It's possible that the data provider release callback isn't being triggered, for some reason. Try putting a print statement within the dataProviderReleaseCallback() function at the very bottom of PictureOutput.swift and see if that ever gets triggered. It did in my tests, but maybe there's something about the extraction of JPEG-encoded data that I didn't account for.
from gpuimage2.
Just tried that, it is actually getting called.
from gpuimage2.
Should I just switch to using .png's for now?
Edit: I get the same error with .png's
from gpuimage2.
I think I might have tracked down the source of this. Check out the latest commit, which should properly deallocate the memory being used by still images. The parameters were swapped in my C callback function and the correct memory was never being deallocated.
from gpuimage2.
Yep, that fixed it. Thanks!
from gpuimage2.
Hey Brad, I'm actually getting this exact same problem again with the latest updates. It seems that this time the dataProviderReleaseCallback(_:data:size:)
isn't being called at all...
Still the same code as above, just writing the data to disk.
Thanks!
from gpuimage2.
Did you fix this problem? @dgsmith
I'm having the same problem.
from gpuimage2.
Unfortunately, I think it requires a bit more in depth knowledge than I can provide haha. Since this time, the callback doesn't seem to be getting called...leading me to think the data is not being freed properly somewhere down the line? Perhaps some change to the Swift handling of Unsafe
stuff has messed with this?
from gpuimage2.
Related Issues (20)
- Load image form data, composite and blent them -> on Linux
- photography in white LED container
- Crack when build on real iphone (Xs Max ios 13.3.1) from xcode 11.3.1
- Posterize with user defined color palette
- exc_bad_access occurs when build with xcode11.4 in release mode HOT 5
- "Problem appending pixel buffer at time" with the SimpleVideoRecorder example
- Framebuffer method cannot render the texture image. HOT 1
- pointer being freed was not allocated
- SimpleMovieFilter when run demo crash how to do HOT 3
- Value of type 'AVCaptureVideoDataOutput' has no member 'availableVideoPixelFormatTypes' after update Xcode12 HOT 5
- Value of type 'AVCaptureVideoDataOutput' has no member 'availableVideoPixelFormatTypes' HOT 1
- Crashing when PictureInput(imageName: "lookup2") is called . HOT 2
- Video Brightness issue on iPhone 12 pro max HOT 1
- Crash while compile shaders for GaussianBlur
- Improving mask edges
- Memory Leak
- Normal Blend black outs base image
- Focus Stacking
- GPUImage framework always crashes on release iOS app
- Thread Performance Checker: -[AVCaptureSession startRunning] should be called from background thread. Calling it on the main thread can lead to UI unresponsiveness PID: 26281, TID: 578576
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gpuimage2.