История изменений
Исправление mittorn, (текущая версия) :
Ещё интересное наблюдение: протокол Present так и не был доделан, потому клиентский композитор хоть и спасает от тиринга, но не отключает лишнее cpu копирование текстуры.
на слабеньком процессоре полноэкранный glxgears всё равно тормозит, а отключение копирования отключает и обновления окна.
В протоколе Present упоминается PresentRedirectNotify
под макросом PRESENT_FUTURE_VERSION
, а внутри иксов некий present_redirect.c
и функуия present_redirect
, которых никогда не было в git истории иксов. То есть Present работает без оверхеда только на полноэкранных окнах.
Как я полагаю, в XWayland каким-то костылём может включаться page flipping не только для полноэкранных окон и этого оверхеда удаётся избежать (но я не проверял конечно же)
Вероятно, для PresentRedirectNotify нужна поддержка со стороны композитора, которая позволит ему вместо пиксмапы окна рисовать present-пиксмапу и сигналить фенсы. Только вот почему этого ещё не было сделано в 2013?
P.S
наконец-то нашёл. Увы, гугол при попытке загуглить что-то про Present/XPresent выдаёт сплошной мусор. А раньше я находил документацию… https://keithp.com/blogs/present-redirect/
Исправление mittorn, :
Ещё интересное наблюдение: протокол Present так и не был доделан, потому клиентский композитор хоть и спасает от тиринга, но не отключает лишнее cpu копирование текстуры.
на слабеньком процессоре полноэкранный glxgears всё равно тормозит, а отключение копирования отключает и обновления окна.
В протоколе Present упоминается PresentRedirectNotify
под макросом PRESENT_FUTURE_VERSION
, а внутри иксов некий present_redirect.c
и функуия present_redirect
, которых никогда не было в git истории иксов. То есть Present работает без оверхеда только на полноэкранных окнах.
Как я полагаю, в XWayland каким-то костылём может включаться page flipping не только для полноэкранных окон и этого оверхеда удаётся избежать (но я не проверял конечно же)
Вероятно, для PresentRedirectNotify нужна поддержка со стороны композитора, которая позволит ему вместо пиксмапы окна рисовать present-пиксмапу и сигналить фенсы. Только вот почему этого ещё не было сделано в 2013? P.S наконец-то нашёл. Увы, гугол при попытке загуглить что-то про Present/XPresent выдаёт сплошной мусор. А раньше я находил документацию… https://keithp.com/blogs/present-redirect/
Исходная версия mittorn, :
Ещё интересное наблюдение: протокол Present так и не был доделан, потому клиентский композитор хоть и спасает от тиринга, но не отключает лишнее cpu копирование текстуры.
на слабеньком процессоре полноэкранный glxgears всё равно тормозит, а отключение копирования отключает и обновления окна.
В протоколе Present упоминается PresentRedirectNotify
под макросом PRESENT_FUTURE_VERSION
, а внутри иксов некий present_redirect.c
и функуия present_redirect
, которых никогда не было в git истории иксов. То есть Present работает без оверхеда только на полноэкранных окнах.
Как я полагаю, в XWayland каким-то костылём может включаться page flipping не только для полноэкранных окон и этого оверхеда удаётся избежать (но я не проверял конечно же)
Вероятно, для PresentRedirectNotify нужна поддержка со стороны композитора, которая позволит ему вместо пиксмапы окна рисовать present-пиксмапу и сигналить фенсы. Только вот почему этого ещё не было сделано в 2013?