Code Monkey home page Code Monkey logo

Comments (4)

pcwalton avatar pcwalton commented on August 26, 2024

The problem is that we have to lay out the atlas from frame to frame as glyphs enter and exit the view (because we don't render glyphs that are off screen). That means that we have to keep modifying uvs every frame, since glyphs may be at a different atlas rect each frame. This is the same kind of thing that WebRender has to do. Unfortunately, I have to do it in JavaScript, which is why it's slow…

There is probably a simpler solution that will work.

from pathfinder.

trishume avatar trishume commented on August 26, 2024

Interesting. Especially since the amount of text in the demo is a pretty small amount I would hope WebRender would be able to process in less than a millisecond. I know Javascript is slower than Rust but over 10x isn't what I would have expected for a modern JIT, does Webrender do something smarter that Pathfinder could do as well maybe? Or is it maybe something that making the JS use more linear typed arrays could help?

Although I imagine that CPU performance of the JS demo isn't considered super important since it's a demo, and while GPU performance is reflective of GPU performance in a real system, any real system would have a different CPU implementation.

from pathfinder.

LifeIsStrange avatar LifeIsStrange commented on August 26, 2024

Has the situation evolved now ?

from pathfinder.

pcwalton avatar pcwalton commented on August 26, 2024

No longer relevant with Pathfinder 3

from pathfinder.

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.