> Мониторы с разными частотами в иксах одновременно работают на частоте монитора с самой низкой частотой так как иксы не могут выставить разную частоту для разных мониторовВообще это неверно. Может быть такой эффект в определённых драйверах, но может его и не быть. К протоколу X11 и к серверу X11 это не имеет никакого отношения! Я так понимаю, что такой режим сделали, чтобы не было тиринга при попытке "клонировать" изображение с высокочастотного монитора на низкочастотный монитор. Ну или просто мониторы с разной частотой выводят общую часть рабочего стола.
По-моему это же и отличие между опциями nvidia ForceCompositionPipeline и ForceFullCompositionPipeline (сейчас не могу проверить).
Короче, я достал высокоскоростную камеру (120к/с, мне хватило), написал хелловорлд, который выводит номера кадров на OpenGL (просто считает от 1 до закрытия программы).
Результаты с драйвером интела следующие. В дефолте (это sna) действительно получается, что частота обновления будет равна минимальной частоте обновления монитора (думаю это pageflip после Vsync от обоих мониторов на одной видеокарте). Получается, что видеодрайвер просто дропнет "не понравившийся" кадр. У меня 50/60Гц, поэтому отношение 5 к 6 (5 кадров на 50Гц мониторе - это 100мс и 6 кадров на 60Гц мониторе - это 100мс). На записи 60Гц монитора видно как меняются цифры, допустим 7 8 9 10 11 (кадр 12 пропал) 13 14 15 16 17 (кадр 18 пропал) 19 и т.д. Если окно расположено на 50 Гц мониторе, то пропусков не будет. В этом режиме тиринга по идее не должно быть никогда, но некоторые кадры могут быть пропущены.
По иронии судьбы этот режим я не использовал... т.к. sna на моей видюхе часто глючил.
"sna" с опцией "PerCrtcPixmaps" работает как ты хотел (и как я привык и тоже юзал много лет). На 60Гц мониторе все номера кадров выводятся без пропусков. На 50 Гц мониторе будет рендеринг с интервалом 20мс и ничего дропать не нужно. 50Гц монитор иногда будет терять (точнее не успевать выводить) некоторые из кадров. Например, если окно рендерится на 60Гц мониторе и частично попадает на 50Гц-монитор, то 50Гц монитор не успевает вывести каждый 6-й кадр.
В uxa работает как ты хотел и как я использовал (аналогично sna с опцией "PerCrtcPixmaps").