nnnn20 wrote: ↑
24 Jun 2020, 10:22
If you have any suggestions I'd happily try it >:)
First before understanding how to tweak... Look at high speed videos, www.blurbusters.com/scanout
... Notice how screens refresh top to bottom?
Cable signals are delivered left-to-right, top-to-bottom. Like a book or calendar. We've stuck to this raster sequence for a whopping century, from the first 1930s analog televisions, to the latest 2020s DisplayPort signals. The raster structure is the same in analog and digital!
There's actually also a left-to-right signal scanout behaviour, but it happens much faster than vertical scanout (one pixel every 1/330,000,000th of a second at 330 MHz Pixel Clock), so not possible to capture in high speed video, and besides, it's usually micropacketized as full pixel rows on modern digital signals nowadays anyways.
Now, the sequential serialization of a 2D picture into a 1D series of pic
ements (aka "pixel") over a wire, still persists for 100 years, though terminology of pixel is muddy in analog era, the serialization concept of the raster scan is identical.
Since pixels are delivered left-to-right in a pixel row
, the monitor processing may be too slow to receive the first pixels at the left edge. So a bigger Back Porch helps. Usually, you want a bigger Back Porch than a Front Porch, when you're overclocking a display, in order to give more guard delay for monitor processing to catch up.
To understand how numbers are mapped from CRU to a monitor screen, look at this diagram:
Porches are overscan which is simply dummy black pixels beyond edges of screen, normally to compensate for curvature of CRT tubes, but it's still in digital signals as dummy black pixels as simple guard delays to allow the monitor to synchronize.
Now, in some monitor processors, some monitors process the screen in two halves (left half and right half). That thin black lines is highly suggestive of this monitor processing behavior, and sometimes cable transmit two separate signals representing left half, right half (dual links).
Artifacts related to dual links sometimes can result in a vertical line down the screen middle. The photos is a big clue. What it seems like is the monitor electronics is a little slow to keep up with synchronizing to the first pixels for each half, I'm assuming you're also probably missing a few pixels at the left edge too.
Back Porch is usually displayed in the software, but it's calculated as subtracting all numbers from Total.
Back Porch = (Total Pixels) - (Active Pixels) - (Front Porch) - (Sync Width)
So to increase Horizontal Back Porch, just increase Horizontal Total without changing other numbers.
Pixel Clock equals (Horizontal Total) x (Vertical Total) x (Refresh Rate). That's the bandwidth cap you have to work under, it's sort of like the speed of light: Cable transceivers (HDMI, DVI, DisplayPort), GPUs and monitor motherboard have their own absolute maximum (sometimes adjustable/hackable, but usually nonadjustable)..
Most monitors don't like horizontals not divisible by 8, so try to keep horizontals divisible by 8. So as a practical rule of thumb, your minimum possible Horizontal Total for full resolution without scaling is usually 1944. (1920 + 8 + 8 + 8) but sometimes you can "cheat" by reducing horizontal resolution, aka 1900 + 16 + 8 + 8 ... Now this may not apply here as you are stuck with scaling (fewer pixels per row).
This prevents you from exceeding your Pixel Clock maximum budget (330 MHz, I believe), while regenerating more headroom for back porches to allow the monitor to synchronize glitch-free. Now, you say you are forced to use scaling, so you may not be able to use full resolution for now, but adding more Horizontal Back Porch is still the trick that sometimes fixes vertical line issue of missed pixels at left edge (and vertical line down middle).
Analog history (if you're interested)
Syncs controlled the electron beam position on an old CRT tube. Horizontal Sync reset the beam to left edge, and Vertical Sync reset the beam to top edge. Porches were overscan (padding between sync & visible signal), to compensate for odd shapes of CRT tubes. You can see the old 1940s TV signal diagram at this web page
. And you know those old NTSC TV bars patterns (the vertical color bars)? Here's some images
, of what NTSC color bars looks like on an oscilloscope for one pixel row (analog scan line). Although there were some changes for color TV versus monochrome, like embedding the NTSC colorburst signal
in the analog Horizontal Back Porch. But you see, those porches were there too, and still used in digital signals even to this day. Porches were simply an overscan area to pad around the signal rectangle that is sometimes cropped/underscanned on a circular TV tube, and this persisted even up to today. All computer signals (even variable refresh rate) still have these porches today, invented approximately 100 years ago as overscan
. (Amazing how some things are unchanged, eh?)
The great thing is that understanding this, can help a person how to adjust/fix overclock artifacts by transferring signal delays around to areas where monitor processing is most needed.
In that method, you MIGHT be able to make your black lines disappear. Since your lines are only approximately 2 pixels thick (4 total if you've got 2 pixel thick removals at both one side edge and the center), you might only need about a 8 pixel addition to Horizontal Back Porch to make that specific glitch disappear, giving your monitor more processing time between the end of the Horizontal Sync, and the beginning of refreshing the Horizontal Active Pixels.
Try Making Horizontal Back Porch Slightly Bigger
Try increasing Horizontal Back Porch size by 8 or 16. This adds more safety margin to the left edge. If Horizontal Back Porch is an 8 and Horizontal Front Porch is 16, try swapping the numbers, although you may need to leave Front Porch unchanged -- usually Front Porch doesn't help overclocking so you can keep it at minimum if there's no glitches from it (you can test changes to it though). If you can't do this without exceeding your Pixel Clock maximum (in this case, 330 MHz), try reducing refresh rate or reducing horizontal resolution.
Try Testing Larger Horizontal Resolutions Too, But With Bigger Horizontal Back Porch
Now if you succeed in removing the black lines, try testing out full or near full horizontal resolution but with a larger Horizontal Back Porch. This may not work since the scaler memory may not be fast enough to line-process that many pixels, especially if pixel count overhead exceeds scaling overhead during overclocked operation. Monitor motherboards are often a mix of microprocessors/FPGAs and/or ASICs, and overclocking weak links vary a lot between panels.
The fewer pixels per row, the easier it can process an overclocked horizontal scan rate (the "Refresh Rate" under "Horizontal" column) since that's less processing time available per pixel row; so the fewer pixels per horizontal row it needs to process, the easier it is to overclocks. But there's also a "preparation time" in a monitor processor to begin a new pixel row.... And that's where Horizontal Back Porch
can help you overclock better with fewer glitches. It inserts a delay into the beginning of pixel row, to help monitor processing catch up.
Hope this helps!
You say you are forced to use scaling, but maybe you can find a way to skip scaling