Comments (3)
I did not look specifically at VulkanMemoryAllocator, but from presentations/talks I understand that it wraps things like memory type, alignment, page size, etc. Memory allocation system in Diligent is specifically designed for the API model and works well. There is no obvious problem that would be solved by integrating VulkanMemoryAllocator / D3D12MemoryAllocator. If such problem arises, it would be reasonable to take ideas from these libraries, but before then there is a lot of more important things to work on.
from diligentengine.
I'm asking since the engine seems to put big emphasis on memory allocations. AFAIK, the VulkanMemoryAllocator promotes more advanced defragmentation features, although I can see thay by design Diligent has a separate gpu heap allocator which probably handles most causes of fragmentation. Anyway, I was just curious how this works since I have no experience with Vulkan/D3D12, and this manual memory management thing is really the "meat" of a modern engine.
from diligentengine.
There is no magic solution to defragmentation problem and it is not correct to expect that Diligent, VulkanMemoryAllocator or D3D12MemoryAllocator will be able to solve the problem completely. With low-level APIs it is the ultimate responsibility of the application to allocate resources in a way that avoids fragmentation. The good news is that everything is explicit and if there is a problem, it is possible to update the engine / tweak the application.
from diligentengine.
Related Issues (20)
- Tutorial19Application_RenderPass crash on android HOT 2
- Why does the projection matrix appear to be in a left-hand coordinate system HOT 5
- Hello, we want to use DiligentEngine as a part of commercial software, which has just started to develop. Is there anything we should pay attention to HOT 2
- Why do objects display in a left-hand coordinate system HOT 7
- WebGPU support. HOT 4
- Macro is too much , Affects code readability HOT 1
- Poor API design choices affect real usability HOT 2
- fake bind error at version 2.5.2? HOT 7
- Build failure on linux
- Windows build output HOT 7
- Wordpress site hijacked HOT 1
- Build Failure Involving libpng in DiligentEngine HOT 6
- Is build multiple shader in differrent thread safe? HOT 1
- windows build error HOT 2
- Website appears to have been hacked HOT 1
- DX11 crash when changing max frame latency HOT 4
- Build failure with FetchContent HOT 14
- Multiple swap chains frame lag? HOT 4
- read wrong depth from stage texture? HOT 9
- Vulkan: When running tutorial 12 (RenderTarget) using Vulkan backend, you get errors on every frame 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 diligentengine.