Comments (4)
Probably not. One of the driving factors in rewriting the framework in Swift was to allow for it to work on platforms outside of Mac and iOS. In particular, I want this to run on desktop and embedded Linux devices. Metal is a very interesting technology, but it doesn't exist on those other platforms.
There are a few places where Metal might make building things internally a little easier, but for performance I don't think it would have that large an impact. It really shines for situations where you have a ton of draw calls or state changes, and want to be able to update various parts of a scene in a multithreaded manner. There's only a single draw call in general for each rendered frame in this framework, and I even cache shader programs and uniform values to further minimize state changes. Image frames need to be processed in sequence, so simple queue-based multithreading is all I need.
That's a fascinating project, and I'd be interested in testing it vs. this, but the small performance advantages it might give are outweighed by the reduction in platform support.
from gpuimage2.
Hi @pjebs and @BradLarson ,
Thanks for Brad's work for GPUImage, and I try some Metal API for my recently work, I found it was some tips for newer in Image processing .
Metal is low level api to Opengles, i used it because it computing some image works like gaussian and face transform is much easier and faster with its multithreads.
On an other hand, its rendering pass is designed better in 3D.
Especially, you can biltCommand to copy bytes easier between textures and buffers with a better speed.
So I try to write a easy Metal framework like GPUImage design for this, you can refer to it in GitHub:
https://github.com/erickingxu/MetalImage
from gpuimage2.
Is it possible to merge Metal API project like this project with this Framework? I want to detect features using ShiTomasi feature detector inside the haar-cascade's rectangle that using Metal API. Thanks @BradLarson
from gpuimage2.
This is being addressed in issue #250 , as well as here:
https://github.com/BradLarson/GPUImage3
from gpuimage2.
Related Issues (20)
- 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 2
- 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
- strange distorted lines appear in view in higher viersions of iphone and os HOT 1
- After loading GPUImage2 through CocoaPods, the project will report some errors
- I encountered a crash problem HOT 1
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.