Skip to content
  • Chris Down's avatar
    8657affa
    drawbar: Don't expend effort drawing bar if it is occluded · 8657affa
    Chris Down authored
    I noticed that a non-trivial amount of dwm's work on my machine was from
    drw_text, which seemed weird, because I have the bar disabled and we
    only use drw_text as part of bar drawing.
    
    Looking more closely, I realised that while we use m->showbar when
    updating the monitor bar margins, but don't skip actually drawing the
    bar if it is hidden. This patch skips drawing it entirely if that is the
    case.
    
    On my machine, this takes 10% of dwm's on-CPU time, primarily from
    restack() and focus().
    
    When the bar is toggled on again, the X server will generate an Expose
    event, and we'll redraw the bar as normal as part of expose().
    8657affa
    drawbar: Don't expend effort drawing bar if it is occluded
    Chris Down authored
    I noticed that a non-trivial amount of dwm's work on my machine was from
    drw_text, which seemed weird, because I have the bar disabled and we
    only use drw_text as part of bar drawing.
    
    Looking more closely, I realised that while we use m->showbar when
    updating the monitor bar margins, but don't skip actually drawing the
    bar if it is hidden. This patch skips drawing it entirely if that is the
    case.
    
    On my machine, this takes 10% of dwm's on-CPU time, primarily from
    restack() and focus().
    
    When the bar is toggled on again, the X server will generate an Expose
    event, and we'll redraw the bar as normal as part of expose().
Loading