[haiku-bugs] Re: [Haiku] #18052: Excessive flickering with master haikuwebkit

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Tue, 08 Nov 2022 07:55:42 -0000

#18052: Excessive flickering with master haikuwebkit
---------------------------+----------------------------
  Reporter:  madmax        |      Owner:  pulkomandy
      Type:  bug           |     Status:  new
  Priority:  normal        |  Milestone:  Unscheduled
 Component:  Kits/Web Kit  |    Version:  R1/Development
Resolution:                |   Keywords:
Blocked By:                |   Blocking:
  Platform:  All           |
---------------------------+----------------------------
Comment (by pulkomandy):

 Personally I prefer it faster but flickering so I left it that way. It's a
 step in the right direction but to stop the flicker it would need support
 for locking bitmaps to tell app_server to not use them while they are
 being redrawn, I discussed this with waddlesplash and he thinks it's not
 possible.

 With the old code from before that commit:
 - webkit draws into an offscreen bitmap
 - This is sent to app_server through draw_bitmap when it's ready, and
 copied to the backbuffer, possibly this happens several times without any
 actual screen refresh
 - Then the backbuffer is copied to the frontbuffer

 Surely there has to be a more efficient way to do this…

 The change replaces the DrawBitmap with a SetViewBitmap, which lets
 app_server control when it copies data from the offscreen bitmap to the
 backbuffer (it should do it just as needed before copying to the
 frontbuffer). But now it can do so while the buffer is not drawn yet, and
 this results in the flickering.

 If several people find this annoying let's just revert the change and wait
 for someone to have a better solution.
-- 
Ticket URL: <https://dev.haiku-os.org/ticket/18052#comment:2>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: