Code Monkey home page Code Monkey logo

Comments (12)

TheNachoBIT avatar TheNachoBIT commented on August 31, 2024 1

@DJMcNab Thank you for responding!

When you spread out the circles, yes, the problem goes away. GPU usage goes down and framerate goes back to normal!

image
image

I'm now going to test the with_winit example to see if there's any issues.

And i'm glad that there are plans to make this better! :D

from vello.

DJMcNab avatar DJMcNab commented on August 31, 2024

We don't handle cases where there are large numbers of items in the same tile very gracefully. If the circles aren't all on top of each other, are the performance characteristics better?

Can you reproduce this same issue by zooming out significantly in our with_winit example?

There are some plans to make this better, see e.g. #gpu > Sparse Strip Path Rendering

from vello.

DJMcNab avatar DJMcNab commented on August 31, 2024

I'm not sure whether this is a useful issue to keep open. My suggestion for you would be to just avoid creating such degenerate scenes - if you/your users control the content, that should be viable for now.

from vello.

TheNachoBIT avatar TheNachoBIT commented on August 31, 2024

@DJMcNab I personally think you should keep this issue opened, atleast until there's a solution about it. Because having this amount of objects/shapes overlapping eachother will happen if you have games that have a lot of shapes and detail.

So for example, if i want to make a bullet hell game that is fully vectorized, sadly i wouldn't be able to choose this renderer, because i could stumble upon this issue.

This is one of many examples, and this issue happening mid-game developement could've be kind of a bummer.

from vello.

DJMcNab avatar DJMcNab commented on August 31, 2024

I don't think this issue occurs when there are a handful (say ~200) items in the same tile - it only becomes significant with huge numbers of items.

I would be extremely surprised if a bullet hell game had a meaningful reason to run into this issue. This is absolutely something we are aware of, but it only manifests in unrealistic cases.

from vello.

dominikh avatar dominikh commented on August 31, 2024

This seems like a variant of #419 and #305 and #409.

from vello.

dominikh avatar dominikh commented on August 31, 2024

I don't think this issue occurs when there are a handful (say ~200) items in the same tile - it only becomes significant with huge numbers of items.

OP ran into this with 1001 items; is that so much bigger than 200?

from vello.

DJMcNab avatar DJMcNab commented on August 31, 2024

I don't have a good sense of what the problematic numbers are. I did misread the initial message as containing 10_000 items.
I have observed that I don't really run into this issue in our mmark example, and that does have some quite significant overlap.

Nevertheless, I think this issue has the same cause as those other issues, and so can be closed. Thanks for pointing that out. I'll leave closing this to the author to do so, if they're satisfied.

from vello.

TheNachoBIT avatar TheNachoBIT commented on August 31, 2024

@DJMcNab If you want to see an example of what people can do in a 2D engine, you can take a look at custom Geometry Dash levels.

There are some that are really object dense, and yet the game is so optimized that it can render them in a potato:

Sedulous by Samifying (205.156 objects)
Ultra Violence by Xender Game (172.482 objects)
Change of Scene by Bli (69.211 objects)

This game runs on textures and not on vectors, but still, its quite an achievement from the developer that you can run these.

Just a quick question before closing it, is the Sparse Strip Path Rendering one of the goals for Vello 0.3?

from vello.

TheNachoBIT avatar TheNachoBIT commented on August 31, 2024

Also @dominikh thank you for pointing out that i'm spawning an extra shape lmao, i'll fix that tomorrow!

from vello.

DJMcNab avatar DJMcNab commented on August 31, 2024

Just a quick question before closing it, is the Sparse Strip Path Rendering one of the goals for Vello 0.3?

I don't know. I suspect we might release a v0.3 before that work is complete.

And I think my point about having that many objects in the same location still stands. Those do have that many objects, but the total number on-screen and in one location is still relatively small.

from vello.

TheNachoBIT avatar TheNachoBIT commented on August 31, 2024

@DJMcNab

I don't know. I suspect we might release a v0.3 before that work is complete.

Nice! Can't wait to see that in action! I've seen the XulipChat about that, and y'all are implementing insane stuff! Good luck to y'all and i hope the rendering technique goes well :D

And I think my point about having that many objects in the same location still stands. Those do have that many objects, but the total number on-screen and in one location is still relatively small.

Y'know, you're probably right! I think one way to find out is to make a scene that dynamic. Still i'm very glad that despite all of it, y'all are implementing techniques that fix these issues anyways. That shows a lot of love and dedication to this project and i can't wait to see how Vello evolves.

I'll close this for now, and i'll wait to see how progress on this goes.

As always, thank you so much for responding, i appreciate it a lot!
Have a fantastic day/night :D

from vello.

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.