Giter Club home page Giter Club logo

Comments (7)

ctrlcctrlv avatar ctrlcctrlv commented on August 16, 2024 1

Also @liquidev I do have to say I disagree about Skia being "bloated"…then again it may very well be for your paint app, but I use features it provides that no other free software does on the GPU (path dashing, SVG export of canvas, path measurement, boolean operations on paths, etc). Skia seems to have been made with a font editor in mind, because I use almost the entire API, pretty much unheard of lol.

from rafx.

aclysma avatar aclysma commented on August 16, 2024

Did you install the vulkan sdk? You could also try running without the vulkan debug layers.

from rafx.

liquidev avatar liquidev commented on August 16, 2024

How do I disable the vulkan debug layers? I've browsed some source code, and as far as I can tell they are only disabled in release mode.

from rafx.

aclysma avatar aclysma commented on August 16, 2024

I thought this was exposed as an option in the skulpin layers, but I think that code didn't survive the transition to using rafx.

You can change initialization of rafx here:
https://github.com/aclysma/skulpin/blob/73f6ad4c2f88caceda9d548fa895d53f60fc4ee2/skulpin-renderer/src/renderer.rs#L119

I would call new_vulkan() instead of new(), this value controls whether validation is enabled or not:

pub validation_mode: RafxValidationMode,

Another idea... you can use cargo overrides to compile upstream crates in release mode (either rafx-api specifically or all of them) https://doc.rust-lang.org/cargo/reference/profiles.html

I highly recommend installing the SDK and keeping the validation layers turned on during development.

I might add support for this (when I'm not on vacation :) ) but to be honest, I don't have any personal use for this project anymore. So I don't plan to add features, and I'll only maintain it as long as it doesn't require significant changes. So if you use this for something serious, please be prepared for the possibility that you will have to fork it.

from rafx.

liquidev avatar liquidev commented on August 16, 2024

Sure, installing the SDK isn't a problem for me. I was just wondering if there was a way to disable the debug layers completely, as I'm not really developing things with Vulkan, only using skulpin; cargo profiles seem like the cleanest solution here.

I'm using skulpin (and thus rafx) for my app NetCanv, but since Skia is quite big and bloated I've been meaning to switch away from it, so no pressure.

from rafx.

ctrlcctrlv avatar ctrlcctrlv commented on August 16, 2024

Happened in MFEKglif just now, see ash-rs/ash#544, @MarijnS95 very kindly helped me figure out it was caused by rafx and not ash, and I eventually found this issue.

I'll try your workarounds tomorrow @aclysma.

Just as a comment though:

I highly recommend installing the SDK and keeping the validation layers turned on during development.

I'm not sure this is really necessary for Skulpin, especially if it's a non-maintainer compiling the code, it's been really stable lately. If someone is compiling a debug build of MFEKglif it's very very unlikely they're trying to debug a graphics issue, almost certain they're trying to debug a problem in my code hehe.

from rafx.

liquidev avatar liquidev commented on August 16, 2024

Yeah, bloat is a relative term and I was using my little painting app as a baseline when making that comparison.

from rafx.

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.