Opened 2 years ago

Last modified 2 years ago

#17859 new enhancement

Debugging aid: add some noise when redrawing

Reported by: thebuck Owned by: axeld
Priority: normal Milestone: Unscheduled
Component: Servers/app_server Version:
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

Add an option to app_server to make repaints visible by adding some noise or tint to them. So everything looks noisy but you can watch the noise changing, even if the redraw paints what has been there.

(I got such effect in #17664, but with additional artifacts.)

Example observation: Unlike other GUI components, spin boxes (number input fields with plus/minus buttons) completely redraw themselves when a window which partially covers them is moved.

This may help in Web Kit debugging and tuning.

Change History (2)

comment:1 by diver, 2 years ago

Do you mean something like this is Serenity? https://www.youtube.com/watch?v=oZBQWV_0zfI

in reply to:  1 comment:2 by thebuck, 2 years ago

Yes, same purpose, but less annoying: instead of solid color flicker (danger of epilepsy...) use additive noise with a setting for the amplitude.

One could even use a noise function n(x,y) with constant seed (same arguments return same result all times), and save a translation value t(x,y) per screen pixel. On paint then, increment the translation value of the painted pixels, and let:
screen_color(x,y) = clamp_to_0_255( app_made_color(x,y) + n(x-t(x,y),y) )
With that, one could see the constant noise pattern move to the right by one pixel at each repaint. So quick double-paints can be differentiated from single paints because of a motion by two pixels. If the repainted area is not big enough or too noisy by itself, discerning the move might not be possible, but one still notices repaints.

Note: See TracTickets for help on using tickets.