Announcement

Collapse
No announcement yet.

The Latest GNOME Performance Issue Being Addressed Are OpenGL Pipeline Stalls

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    I still cannot imagine when you would need to do glReadPixel every frame when moving a mouse. Make a window screenshot for Alt-Tab - thats acceptable. But when mouse moved - why??

    Comment


    • #22
      Britoid yeah. More performance MRs than I can keep up with.. I just picked a few random one to make a point. Then there’s this one and another 3 stacked for upstream..

      Comment


      • #23
        It will be nice if they test mutter on slowdevices like raspberry pi or odroid-s
        as it is really not ready on that devices. And for example android is working supper fine
        but it is really funny that it is same with weston

        weston and mutter have like really low cpu load but output isn't good, some v-sync problems and others.

        Comment


        • #24
          Originally posted by V1tol View Post
          I still cannot imagine when you would need to do glReadPixel every frame when moving a mouse. Make a window screenshot for Alt-Tab - thats acceptable. But when mouse moved - why??
          Well, that is the point of the patch -- that it's not necessary.

          Using glReadPixels is a naive approach to picking -- which is effectively reverse ray-tracing: given a point on the screen where the mouse is, project a ray through world space until you intersect an object. That sort of projection math (and a reverse projection is just a projection, but in reverse) is what GPUs are designed for, so your first go-to is a GL call. Turns out, though, if you do the algebra, that all you need is an inverse of the projection matrix you used to render the current frame, the scenegraph, some clipping info, and a simple loop entirely on the CPU side. Not only that, but if the rendered frame hasn't changed (like when you're sitting staring at your PowerPoint presentation trying to spiffulate some lie for management, or whatever you dear readers of Phoronix do), you don't even need to traverse the whole scenegraph and you can just cache the objects hit on the last traversal to minimize the number of comparisons to find the hit.

          Anyway, using glReadPixels is the textbook way to do picking that most beginners would be familiar with. It's good enough but it's not best. It lets you get your compositor up and running within your constrained development schedule. Once you have something running, then you can make it run better. If you expect perfection out of the gate, you're never going to reach the gate.

          Comment


          • #25
            Ten years after the introduction of GNOME 3, developers are starting to take performance seriously. That's good news. I got tired of waiting and moved back to Windows, but from the outside it looks like it won't be long until we finally reach the year of the Linux desktop. Well, unless they scrap everything and start a GNOME 4 from square one again.

            Comment

            Working...
            X