Comments (3)
As described in wgpu::Device::limits
The limits which can be used on this device.
No better limits can be used, even if the underlying adapter can support them.
That is why you should ask your device what best limit you can use, and don't expect device would process unsupportable limits.
I think you could ask that limits by code like:
fn main() {
let mut app = App::new();
app.add_plugins(DefaultPlugins);
if let Some(render_app) = app.get_sub_app_mut(RenderApp) {
render_app.add_systems(ExtractSchedule, print_limits);
};
app.run();
}
fn print_limits(render_device: Res<RenderDevice>) {
info!("{:?}", render_device.limits());
}
For example I got
Limits { ...
max_compute_workgroup_storage_size: 49152, max_compute_invocations_per_workgroup: 1024,
max_compute_workgroup_size_x: 1024, max_compute_workgroup_size_y: 1024,
max_compute_workgroup_size_z: 64, max_compute_workgroups_per_dimension: 65535
...}
For your case key value is max_compute_invocations_per_workgroup
Then you can dynamicaly use discovered limits in runtime with dispatch_workgroups
from bevy.
- why is it so low for this case?
I looked at source, looks like it is result from DirectX API call "D3D12CreateDevice" which fills limits. I can't debug it for you to figure out better because i'm linux user. I hope you will find out and write results of investigation here.
from bevy.
Thanks for looking at this!
Maybe I am misunderstanding, but in every other engine (unity/unreal/various c# engines) on this hardware ive used 32,32,1 its been fine. I guess the question then becomes..
- why is it so low for this case?
- where are these limits from if not the underlying hardware?
- whats the point of being able to specifiy the limits if its ignored?
I'll try printing it out when I get a few mins.
from bevy.
Related Issues (20)
- UI elements randomly disappear for some frames on specific android devices HOT 6
- Bevy needs better support for pre-multiplied alpha textures and sprites HOT 2
- Allow gizmos to render behind sprites
- UI rounding is applied before UI scaling HOT 5
- Footgun when chaining observer registrations on World vs App
- `embedded_asset!` does not work in multi-crate workspace + release build HOT 1
- viewport-to-world doesn't work well HOT 1
- Check benchmarks in CI HOT 1
- Consider what to do with wgpu_trace feature HOT 6
- Docs for Observer should mention what happens if you use a bundle in the `Trigger` HOT 1
- Add type registration for a11y::Focus
- AlphaToCoverage can't be used with base_color_texture
- `bevy` fails to build with just `bevy_dev_tools` feature HOT 2
- Adding proc_macro `#[required(TransformComponent, ...)]` for Component. HOT 3
- Update a TextureAtlas index based on the row and column of the TextureAtlasLayout::from_grid params
- `OnEnter(xx)` schedule will run before `Startup` HOT 1
- inconsistent animation transitions when current animation is completed HOT 1
- Add button to enable/disable interpolation for physics_in_fixed_timestep example
- Implementation of bone masks HOT 3
- VertexOutput.uv throws [invalid field accessor `uv`] after migration to 0.14.1 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 bevy.