Comments (2)
In general, the per-frame processing benchmarks are pretty much the same right now.
The new framework is slightly slower on iOS in movie recording, raw data capture, and image capture, which at present don't use the iOS texture caches in the new framework. That should be fixed soon.
Point extraction from the Harris corner detector and others is slower on unoptimized builds, but that's because you don't want to do benchmarking against -Onone builds for Swift. The -O level of optimization takes care of that, and brings performance close to the raw C I used in the old stuff without the dangers and awkardness of the raw pointers you had to handle.
The Mac camera in the new framework is significantly faster, since it now uses YUV capture / GPU conversion to RGB instead of BGRA capture. I'll be adding the new (in 10.11) texture caches on the Mac to further speed this up.
The new framework is way faster at anything that uses large-area Gaussian or box blurs. It now does these in nearly constant time with increasing radii beyond 8 pixels, due to the use of automatic downsampling and upsampling. It's the difference between a frame taking >200 ms to process on an iPhone 4S in the old version and only 8 ms in the new framework. The quality of these large-area blurs should also be improved.
I will be using VBOs to cache vertex data, which should lead to a small but noticeable reduction in CPU overhead across the entire framework.
I also am attempting to split output video frames into Y and UV planes for movie recording, which I think will lead to a large improvement in movie recording performance.
When I'm done, the overall framework should be faster in every part than the old framework, and much faster in some, but I need to get everything operational first before I apply many optimizations.
from gpuimage2.
Brad, thanks for the update! Sounds like you get your work cut out for ya! Excited about the future of GPUImage 2. And love the new "masking" feature... thanx again
from gpuimage2.
Related Issues (20)
- 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
- Running on Simulator
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.