Comments (6)
Indeed, thanks for the report!
from filament.
Would you like to check if any similar update candidates were left over in the source code for other software components?
from filament.
I'm sure there are other instances. I'd love to know about them if it's not too much work for you to look for them. Otherwise I'll take a look myself.
from filament.
How do you think about to recheck the need for null pointer checks before calls of resource release functions (like “free
”) with the help of the semantic patch language (for example)?
from filament.
@elfring Note that there are a few places in filament where we intentionally check for nullptr before free() for performance reason. This is because a call to free() is expensive -- .so calls are actually pretty heavy, they cost the equivalent of a jump + global variable dereference + function pointer branch. So in case where the call to free() is NOT the common case, it's preferable to check for nullptr.
from filament.
… for performance reason.
Would you like to point any corresponding source code places out?
This is because a call to free() is expensive …
- Did you measure such software costs?
- Do extra pointer checks influence the run time characteristics really in desired ways?
So in case where the call to free() is NOT the common case, it's preferable to check for nullptr.
Do you care for the concrete function call frequency where null pointers will be passed actually?
🔮 How do you think about to update (bundled) software libraries any further?
from filament.
Related Issues (20)
- build failed with setting `-DBUILD_SHARED_LIBS=ON` to CMake HOT 1
- Can we render 3d Model using camera by Google filament?
- Build Android release Failed HOT 3
- gltf instances sample app crashes on MacOS HOT 4
- iOS View::Pick() cannot obtain the node info of gltf HOT 1
- Under the ANGLE_D3D11 backend in Windows Chrome, the official demo displays random flickering noise.
- The tree model is not rendered correctly HOT 1
- Dynamic lights stop working on Android when updating to 1.49.x HOT 2
- Partial shadow disappears at VSM blur case HOT 5
- Minimizing the window causes a crash on the Debug configuration when using Vulkan.
- 【MAC】Building Filament for Desktop failed HOT 3
- incompatible version of Kotlin. The binary version of its metadata is 1.9.0, expected version is 1.7.1 HOT 1
- Some point light are not displayed when have many point light in the scene HOT 1
- After loading glb model on android, how to control model rotation through code, like gesture operation
- model jitter HOT 8
- Phone overheating HOT 1
- Translucent objects are not rendered consistently (was: Model rendering issue) HOT 2
- QML software, running filament, if it runs for a long time, such as night, the software will crash HOT 1
- How to use mat
- Setting emissiveFactor results in abnormal display HOT 5
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 filament.