Comments (2)
I've been using ObjC mainly with ARC and I'm still trying to figure out for myself the problem.
I saw some changes to mtlpp made by Epic engineers to fix the over retaining of objects. Seems like when I'm default constructing object I'm adding extra retain. The solution they have implemented is to have optional retain parameter for the Object constructor:
Object(const Handle& handle, bool retain = true);
And then retain is set to false everywhere [[... alloc] init] is used:
TextureDescriptor::TextureDescriptor() :
ns::Object(ns::Handle{ (__bridge void*)[[MTLTextureDescriptor alloc] init] }, false)
{
}
from mtlpp.
Hi,
Your comment
ObjC mainly with ARC
is the key to the issue here. The Epic's fix only makes sense when ARC is turned off. Otherwise the code is okay and not leaking.
from mtlpp.
Related Issues (19)
- Assistance getting started with basic kernel function for parallel computation HOT 2
- NSError init issue HOT 1
- arc errors HOT 1
- Missing ParallelRenderCommandEncoder::EndEncoding
- Support for Metal 2 + Deep Learning
- Python wrapper HOT 2
- Deprecated functions for macOS 10.13 and 10.14
- [Question] Glfw support HOT 2
- does mtlpp work with skia?
- Triangle Example prints all zeros HOT 2
- Cannot build mtlpp HOT 1
- Metal 2 support?
- Any plan to support metal binary archive
- how to show video in metal c++
- Windowed Metal App HOT 2
- Can add Metal 2 support? HOT 3
- Any chance for a Cmake based example? HOT 4
- Integrate Unreal Engine mtlpp enhancements 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 mtlpp.