4 ms·
This is one of the things on my TODO-list for when I stumble upon a way to have infinite amounts of time: Learn "FPGA 'n stuff" and build my own display contro
by fps_doug 4y ago
This is one of the things on my TODO-list for when I stumble upon a way to have infinite amounts of time:
Learn "FPGA 'n stuff" and build my own display controller. Like many people here, I don't understand why this takes so much bloody time. Not just the input switching, but also switching resolution or refresh rate on the same input. So either I'd have an a-ha moment and see why it's not possible (more likely outcome), or well, it'll just work and I can write a cool hackaday post.
The EDID explanation given in the comment currently at the top doesn't make too much sense: Even if the display is off and not in some super hardcore energy saving mode, EDID works, i.e. your computer can query the EDID data from the screen and know what its preferred resolution is, etc. Likewise, even if your display is switched to HDMI-1, a machine connected to HDMI-2 can already be outputting 1080p60 to it, so why does switching inputs take more than a few milliseconds?
Afaik (and I only have very rough knowledge here), there is no side-channel in HDMI/DVI that tells the display what mode it's actually receiving, so the display has to look at the signal and make sense of it. So you have to put some brains in it. But that can hardly take several seconds, i.e. hundreds of frames? Maybe two or three frames! I could see this being a cost cutting measure, maybe doing the dumb implementation that takes seconds instead of milliseconds saves you a cent or two per device.
- joahua 4y agoOr, perhaps, weird regulatory/big customer energy saving reasons - “TCO” stickers and whatnot imply some kind of standard measurement, can imagine a “wake from sleep on source change” benchmark driving odd behaviours.
- 83 4y agoTop comment leaves out HDCP entirely as well which I would wager is where a lot of people experience delay. If you want to learn more about it search for the edid hotplug detection. Once that gets negotiated it is followed by the hdcp handshake. Keep in mind while reading up on this the industry terms for devices are "source" and "sync". Video goes from source to sync. The hdcp handshake is a particularly bad mess which most manufacturers don't implement well due to a very confusing spec. My experience has been some devices start showing video right away and kill it if hdcp handshake fails, while other devices don't show video until hdcp handshake succeeds. Behavior is quite hardware dependent. The commercial vendors like Extron (crosspoint switchers) and Crestron (digitalmedia switchers) have this figured out pretty well where switching is almost instant so it's definitely possible. I think Crestron has some technical papers out there that discuss the challenges involved.