GithubHelp home page GithubHelp logo

Comments (8)

John-Nagle avatar John-Nagle commented on July 20, 2024 1

Waiting for wgpu-egui and wgpu-profiler to catch up to wgpu 22.0.0. Both have the appropriate pull requests.

from wgpu.

partisani avatar partisani commented on July 20, 2024

What do you mean by Linux 22.04 LTS? The latest version of the linux kernel is 6.10

from wgpu.

John-Nagle avatar John-Nagle commented on July 20, 2024

Ubuntu 22.04 LTS

from wgpu.

Wumpf avatar Wumpf commented on July 20, 2024

As far as I can tell, that ought to be a fast operation.

I think wgpu should do a better job documenting that it is in fact known to be a very slow operation.

That said, regardless it needs to be looked at if it really has to lock out render pass recording (or vice versa, not that it matters :)).
Wgpu is making some considerable progress in this area, so might be worth checking if the just released 22.0.0 got better in that regard, but I'd be kinda surprised if it's fundamentally different (but who knows! personally I lost a bit track of all the refactors that went in 😅).

Ideally, it would only be an "occasionally very slow" operation, i.e. whenever it actually happens to bottom out to an allocation in the driver (which shouldn't happen all that often)!

from wgpu.

John-Nagle avatar John-Nagle commented on July 20, 2024

just released (WGPU) 22.0.0

OK, I will upgrade all my code, and Rend3, and re-test. More tomorrow.

very slow operation.

Indeed. 4ms is slow for something in the main render loop.

from wgpu.

cwfitzgerald avatar cwfitzgerald commented on July 20, 2024

The buffer in question is the vertex buffer (you can tell by it being accessed by the mesh manager). This buffer can get very large, and large allocations can take a second for us to generate, as the underlying memory allocation takes a little bit. It shouldn't block the main thread, however.

from wgpu.

John-Nagle avatar John-Nagle commented on July 20, 2024

The buffer in question is the vertex buffer (you can tell by it being accessed by the mesh manager). This buffer can get very large, and large allocations can take a second for us to generate, as the underlying memory allocation takes a little bit. It shouldn't block the main thread, however.

Right. Profiling can show this happening, but extracting cross-thread cause and effect from profiling data is hard.

from wgpu.

John-Nagle avatar John-Nagle commented on July 20, 2024

The pull request to fix wgpu-profiling failed. See Wumpf/wgpu-profiler#75

A new WGPU version is needed to fix that, apparently.

from wgpu.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.