Slow rendering when GC.line_style = LineOnOffDash

Paul Farrington paul at eastshore.com
Mon Dec 5 22:52:38 UTC 2022


Thank you, Julian.

This was a very helpful observation. In our actual application there is an
underlying JPEG image, and we wanted the image data to show through the
drawn lines, so GXcopy doesn't do what I want, but GXand does, and it
renders instantly!

That was driving me crazy.

Also, sorry to respond in this non-standard way, but I started this thread
with a work email but now work is blocking mail from xorg, so I had to
switch to personal mail.

Thanks again,
- Paul

*Julian Bradfield* jcb+fdt at julianbradfield.org
<xorg%40lists.x.org?Subject=Re%3A%20Slow%20rendering%20when%20GC.line_style%20%3D%20LineOnOffDash&In-Reply-To=%3C25483.8043.752740.986387%40high.jcbradfield.org%3E>
*Sat Dec 3 10:05:31 UTC 2022*


   - Previous message (by thread): Slow rendering when GC.line_style =
   LineOnOffDash
   <https://lists.x.org/archives/xorg/2022-December/061187.html>
   - Next message (by thread): [ANNOUNCE] transset 1.0.3
   <https://lists.x.org/archives/xorg/2022-December/061189.html>
   - *Messages sorted by:* [ date ]
   <https://lists.x.org/archives/xorg/2022-December/date.html#61188> [
   thread ]
   <https://lists.x.org/archives/xorg/2022-December/thread.html#61188> [
   subject ]
   <https://lists.x.org/archives/xorg/2022-December/subject.html#61188> [
   author ]
   <https://lists.x.org/archives/xorg/2022-December/author.html#61188>

------------------------------

On 2022-12-03, Farrington, Paul <Paul.Farrington at fisglobal.com
<https://lists.x.org/mailman/listinfo/xorg>> wrote:
>* We’ve noticed that XDrawRectangle where the GC.line_style is LineOnOffDash has
*>* gotten slower in recent X Server releases. We’ve observed this on both Linux
*>* RH8 and FBSD 11.4 and above. There are two sample programs pasted below, one
*>* which draws 5 rectangles with LineSolid and one which draws 5
rectangles with
*>* LineOnOffDash. There is also a makefile for RH8. Running the two
programs with
*>* an X Server version 1.18.4, both programs render the rectangles
instantly. But
*>* in X Server version 1.20.8 or more obviously 1.20.14, rendering the dashed
*>* line rectangles is much slower. You can watch them being drawn on
the screen,
*>* whereas the solid line version still renders instantly.
*
Interesting. It's still a bug, but your sample programs use an odd
way to draw lines - setting the GC function to Clear, leaving
foreground and background at default, and using the plane_mask to
specify the color.

If you draw dashed lines the normal way (with GC function Copy and the
color specified in foreground), it's fine - it's the non-trivial
plane_mask that appears to be triggering the problem. Quite how Xorg
can take human-noticeable time to do masked dashed line draw, I can't
imagine!


-- 
Paul Farrington
paul at eastshore.com
linkedin.com/in/paulfarrington1 <http://www.linkedin.com/in/paulfarrington1>
510-914-0088 (cell)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.x.org/archives/xorg/attachments/20221205/e2903f43/attachment.htm>


More information about the xorg mailing list