LINUX.ORG.RU

История изменений

Исправление 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?