Rendering

I've only recently upgraded from 27.# to 29.2. Yes, my bad, I know.

One big change I hadn't anticipated is that suddenly all stipples and line styles are presented big, bold and pixel accurate. That would be fine, but using a traditional VA 0.27 mm dot pitch, it all looks as clunky now in KLayout as rendered by Cadence.

Previously, enabling 2x or 3x oversampling shrunk the stipples and made for a really pleasing overall display with a fantastic balance between rendering small features and providing layer recognition.

I haven't found any way to get back to the wonderful previous rendering. I've tried all oversampling and High resolution mode combinations, but I cannot get it back to how it was. Am I missing something?

Comments

  • edited August 2024

    Hi Brendan,

    I think for some reason you monitor is recognized a "high-DPI" one.

    You can restore pixel-fine rendering with this option:

    Another way is to start KLayout with the QT_SCALE_FACTOR environment variable set to "1". This should also disable scaling, but for the entire application. In my case (old eyes), this is too small on a 4k monitor.

    Matthias

  • Hi Matthias,

    Thanks.

    Some background...

    We used to use a couple of paired 24" 1920x1200 VA Samsung 244T monitors. From 2006 they are still going strong, albeit with one or two electrolytic capacitors replaced, the cold cathode tubes never faded, unlike the 21" 1600x1200 VA 213T monitors (that we also used in pairs, that had poor contrast, low brightness, and faded very badly). The 244T's inky blacks, linear tones, and paper-like solid imagery, still impress and work great for CAD even today.

    For a few years now some of us have been using the brilliant (sadly, no longer produced) curved 43" 3840x1200 Samsung VA panels in monitors from Samsung, Lenovo and electriQ. Same familiar 0.27mm, 94 dpi, dot pitch, low enough to crisply resolve single pixel stipples of Cadence etc, and to allow reasonably fast graphics with lowly kit, yet fine enough to work well in normal office applications too, refresh rates 120-144 Hz high enough to keep track of the pointer over such a big surface. Same paper and ink like smooth appearance. Basically these are like the two old monitors merged with no gap, but with a bit more brightness, 3x higher contrast, and wider gamuts.

    In all those scenarios, what used to happen with KLayout "oversampling", was that the stipples and line styles were shrunk below pixel level, effectively only rendered in subpixels. This made it much easier to appreciate fine layout details at low zoom levels, and worked brilliantly in combination with those lowish DPI monitors that work so well for everything else.

    The problem I have now, is that on the later versions, whatever setup combinations I set, and regardless of the QT_SCALE_FACTOR="1", the stipples remain steadfastly resolved at full size. Huge clunky stipple interactions obscure layout detail that used to be much more obvious and accessible.

    Perhaps my previous versions were subject to a bug, perhaps oversampling wasn't intended to shrink the stipple pixels to subpixel level? Interestingly, the stipples were always resolved in full size in the Layers palette, but shrunk in the layout display itself.

    Example after reverting to 0.2.7.9, oversampling at 3x:

    As it is now, updated to 0.2.9.5, oversampling at 3x, high resolution mode disabled:

    I don't know when this behaviour changed, but I'd love to be able to have the old rendering back, at least as an option.

    Cheers,

    Brendan.

  • edited August 2024

    Hi Brendan,

    So it does not seem to be related to the monitor.

    But I think I understand what you mean.

    Some time ago, for the 0.28 version and for the enabling of high-DPI monitors, I changed the oversampling in a way that it would enhance the quality, not change the display. So, instead of the lines becoming thinner, they receive oversampling, so diagonals would not be resolved in a staircase pattern, but appear smoother. The line widths and the fill pattern are no longer scaled.

    For the technical background: high-DPI monitors and oversampling are pretty much the same thing. High-DPI monitors are treated by the OS as monitors with "half-size" physical pixels. That is the same thing that oversampling does - with the difference that the oversampled image is downsampled before sending it to the monitor. As you do not want thin lines on 4k monitors (or you would need a lens to see it), the line width is scale inversely proportional to the oversampling rate / device pixel ratio. There are no separate rendering paths for high-DPI/normal monitors/oversampling case, so the implementation changed for all these cases.

    The effect is a consistent visual with enhanced quality:

    With 3x oversampling:

    Without oversampling:

    Right now, there is no option to restore the original "line-thinning" behavior, but you can raise a ticket on GitHub and I will take look. Technically it should be easy to implement, as it is the same thing than "high resolution mode", but acting on the oversampling setting rather than the device pixel ratio reported for high-DPI monitors.

    Matthias

  • Hi Matthias,

    Okay, understood. The odd thing, that I actually really appreciated, but might not have been intended, was that "oversampling" rendered smaller, softer, subtle lines AND stipple dots etc, making for a pleasing layout display with natural looking overlays, while the Layers pallette used my big clunky pixels to resolve the stipples and line styles for each layer very clearly. I'll head over to the github then.

    Cheers,

    Brendan.

Sign In or Register to comment.