by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Matthew Leibowitz
    @mattleibow
    @Gillibald rather... not sure what happened to that link
    Benedikt Stebner
    @Gillibald
    Can't really tell if there was a difference. I don't expect anything to change much.
    Kai_Low0n
    @kai_low0n_twitter
    @mattleibow does Skia(Sharp) support a form of dirty rect invalidation? I have a large canvas and on an update i don't want to redraw every element on it, just a region where the update happens. very much like the new icon btw ;-)
    Dalton Spillman
    @daltonks
    @kai_low0n_twitter The way I found is by clipping the canvas using a path or region: https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/graphics/skiasharp/curves/clipping
    In my scenario for an SKCanvasView, clipping is quicker than a full canvas redraw most of the time. However, it can end up being slower if you have enough dirty rects that cover enough area (even if they don't cover the whole canvas).
    Perhaps SKGLView clipping is faster though.
    Matthew Leibowitz
    @mattleibow
    Hi folks, your thoughts and opinions are needed. I am trying to decide if splitting the largish SkiaSharp package is worth it: https://github.com/mono/SkiaSharp/issues/1073#issuecomment-629692839
    DM1145
    @DM1145
    II read the notes - just want to clarify that the final app file size is or isnt affected……?
    Matthew Leibowitz
    @mattleibow_twitter
    not at all, pure packaging semantics
    DM1145
    @DM1145
    Cant see the value if it’s just faster to download - the issues that can come up with added complexity arent worth the one-time convenience.
    Matthew Leibowitz
    @mattleibow_twitter
    yeah
    and this is really a one-time thing. like, the very first time ever.
    DM1145
    @DM1145
    I’ve worked with a lot of projects that added complexity for what seemed like a good idea at the time, but required radical refactoring or full rewrite in a couple of years because it just became too difficult to keep moving forward. Can’t see the convenience value - unless it affected app file size/download speeds.
    DM1145
    @DM1145
    Thats my 2 cents worth (or 2 of your local smallest currency coin)
    Dalton Spillman
    @daltonks
    Yeah, the download size doesn't matter that much to me at least
    Benedikt Stebner
    @Gillibald
    Currently native assets are broken for. Net Framework builds when AnyCpu is used. If we could specify the assets explicitly there would be no issue. Also custom builds just require a package reference. Currently we have exclude native assets from the main package.
    Matthew Leibowitz
    @mattleibow_twitter
    Hi folks, not sure if it was someone here or on Twitter that said they didn't like the fact a dotnet publish put all the native runtimes in the output folder of the apps...
    For example a dotnet publish for a netcoreapp3.0 will put tizen and ios
    I was thinking if you had any opinions or actual use cases, then just drop a comment here: https://github.com/mono/mono/SkiaSharp#1301
    Michal Dobrodenka
    @michaldobrodenka
    @mattleibow_twitter wrong link - correct link mono/SkiaSharp#1301
    Matthew Leibowitz
    @mattleibow
    Ah, thanks.
    Seems my slack-to-gitter bot is not getting it right again
    Paul den Dulk
    @pauldendulk
    @mattleibow_twitter hi there! I can't find a way to cap the frame rate of a SkiaSharp SKGLView. Is this possible at all?
    We are adding more animations and would like to cap the frame rate to reduce the power consumption, especially for mobile this can be important.
    Matthew Leibowitz
    @mattleibow_twitter
    What platform is this? Android? iOS should be good because it uses the display link. Last I checked, android was free running :disappointed:
    Right now, once way is to use a timer.
    I need to have a look at how you are supposed to implement this.
    Tomasz Cielecki
    @Cheesebaron
    @pauldendulk what we do is to set the SKGLView to only redraw when dirty. And have a controller which invalidates the view while the "rendering" we are doing on it claims it is dirty or when it fires an event when it needs a redraw
    Paul den Dulk
    @pauldendulk
    @mattleibow @Cheesebaron We will use it for all platforms. We now have a solution where use a timer to invalidate the canvas. It works okay. Not sure how it affects the smoothness of the animation. A simpler solution would be to invalidate the canvas within the render loop while the animation lasts. In that case I would like to cap the frames per second. I was expecting something like that was present, but if it is not it is not a big issue for us.
    Paul den Dulk
    @pauldendulk
    I would be interested to know how this is implemented in game components. I could calculate the time left until the next frame should start and pause for that duration in the renderloop. Would that be a smart solution? How to pause? Use Thread.Sleep? What would be the best option performance wise?
    Nikita Tsukanov
    @kekekeks
    @mattleibow_twitter @mattleibow is there some nuget feed where I can get SkRuntimeEffect binaries?
    Matthew Leibowitz
    @mattleibow_twitter
    Coming really soon. Just getting CI finished. For some arb reason it failed, but a retry should do it
    I am doing some more work to make the "set" api much better and be a case of:
    var inputs = new SKRuntimeEffectInputs(effect) { ["abc"] = 1f }
    As soon as it is up, i'll ping you and then you can let me know if things feel clunky or whatnot
    I am hoping to get a nice and friendly api
    Nikita Tsukanov
    @kekekeks
    really looking forward to porting some examples from shadertoy
    Matthew Leibowitz
    @mattleibow_twitter
    @kekekeks it is ready to eat! Check out package versions 2.84.0-pr.1321.3
    I got a new build coming some with some nice things, i'll push that too
    Nikita Tsukanov
    @kekekeks
    :+1:
    Nikita Tsukanov
    @kekekeks
    @mattleibow_twitter @mattleibow it seems that SkSL doesn't support the out keyword
    in glsl
    it just gets stripped from the final glsl
    Nikita Tsukanov
    @kekekeks
    inout also doesn't seem to work for some reason
    Matthew Leibowitz
    @mattleibow_twitter
    inout seems to be pretty common in the samples and tests
    they seem to have out and inout in the final compilation...
    but interestingly not on the input...
    seems inout is mostly used in the main method
    Nikita Tsukanov
    @kekekeks
    float func2( float2 q, inout float4 ron )
    {
        ron = float4(1., 0., 0., 1.);
        return 0;
    }
    gets compiled to
    float func2_Stage1_c0(vec2 q, vec4 ron) {
        return 0.0;
    }
    Nikita Tsukanov
    @kekekeks
    how exactly that SkRuntimeShader works?