You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The hybrid-bindings branch contains ongoing efforts into moving Vulkan structures and handles from C++ over to JS. Vulkan function calls and enums remain in C++. Vulkan related C++ memory is filled within JavaScript using TypedArrays, ArrayBuffers and inlined memory offsets (done using pseudo bootstrapping in the code generation process).
Benchmarks with the new hybrid bindings already show some improvements in both memory usage and performance, because the JS->C++ overhead is reduced.
This also results in a reduced package size, less compile times, more flexibility for the interfaces (e.g. error handling) and greatly reduces code complexity in both the code generator and the generated binding code.
Some further notes:
Add asm.js for faster memory operations? Further investigate into asm.js context switching performance
Strings and Numbers live inside a Structure's memoryBuffer only
Structures are now flushed within JavaScript
C++ Vulkan Structure reflection gets possibly moved to JavaScript as well
State of 4/13/19:
Hybrid bindings tend to be a lot faster than the native bindings
Memory usage is now reduced
Better error handling
Shared memory for nested structures
The text was updated successfully, but these errors were encountered:
The hybrid-bindings branch contains ongoing efforts into moving Vulkan structures and handles from C++ over to JS. Vulkan function calls and enums remain in C++. Vulkan related C++ memory is filled within JavaScript using TypedArrays, ArrayBuffers and inlined memory offsets (done using pseudo bootstrapping in the code generation process).
Benchmarks with the new hybrid bindings already show some improvements in both memory usage and performance, because the JS->C++ overhead is reduced.
This also results in a reduced package size, less compile times, more flexibility for the interfaces (e.g. error handling) and greatly reduces code complexity in both the code generator and the generated binding code.
Some further notes:
State of 4/13/19:
The text was updated successfully, but these errors were encountered: