Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bevy-glsl-to-spirv is 38 MB of source code #1584

Closed
jyn514 opened this issue Mar 7, 2021 · 4 comments
Closed

bevy-glsl-to-spirv is 38 MB of source code #1584

jyn514 opened this issue Mar 7, 2021 · 4 comments
Labels
C-Dependencies A change to the crates that Bevy depends on C-Performance A change motivated by improving speed, memory usage or compile times

Comments

@jyn514
Copy link

jyn514 commented Mar 7, 2021

Bevy version

f61e44d

Operating system & version

Ubuntu 20.04

What you did

git clone https://github.com/bevyengine/bevy && cargo check

What you expected to happen

Downloading bevy sources takes very little time.

What actually happened

Cargo takes over 38 MB to download the source code alone.

Downloaded 62 crates (48.4 MB) in 9.61s (largest was `bevy-glsl-to-spirv` at 37.9 MB)
@jyn514
Copy link
Author

jyn514 commented Mar 7, 2021

I haven't looked into why it's so big, but 38 MB seems pretty giant.

@alice-i-cecile alice-i-cecile added C-Performance A change motivated by improving speed, memory usage or compile times C-Dependencies A change to the crates that Bevy depends on labels Mar 7, 2021
@GrygrFlzr
Copy link

The problem is that it’s delivering literal binaries. It’s possible to always compile from source, but that brings a penalty to compilation times.

@mockersf
Copy link
Member

mockersf commented Mar 7, 2021

You can find more information, and the path forward for that in #1073

TL;DR:

  • short term: provide easer support to shaderc (better compatibility and no binary to download, but more complicated setup)
  • long term: replace bevy-glsl-to-spirv by naga
  • hypothetical longer term? support rust-gpu

@james7132
Copy link
Member

Closing this as all shader transpilation is now done via naga, as of the 0.6 render rework.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-Dependencies A change to the crates that Bevy depends on C-Performance A change motivated by improving speed, memory usage or compile times
Projects
None yet
Development

No branches or pull requests

5 participants