Shadow buffer - моргающий курсор или так жить нельзя...

Kernel-side graphics support
  • Удивило то, что в режиме 320х240 курсор отличается от общесистемного. Режим работает нормально, как и 640х480х16, как и другие.
    Из хаоса в космос
  • Итак, результаты тестирования.

    Ноутбук Acer Aspire 4740G
    core i3-330m 2.13 Ghz 3MB L3 cache
    GeForce 310M 512ram
    разрешение было 1024х768

    Gears в полноэкранном режиме курсор стоял в середине красной шестерёнки:
    SVN r. 2426 179
    SVN r. 2438 162

    И вот результаты теста Mgb. Курсор был над окном.
    Attachments
    2.png
    2.png (18.9 KiB)
    Viewed 6241 times
    Из хаоса в космос
  • Для стабильности лучше, если при тестировании курсор увести за пределы отрисовки.
  • SVN r. 2440 исправил ошибку r.2438, вызывающую недорисовку последней линии (смотреть два последних скриншота в этой теме).
  • Появился баг с аппаратными курсорами. Если кликнуть на заголовке не активного окна, появляется мусор.
    Attachments
    1.png
    1.png (1.61 KiB)
    Viewed 6182 times
  • SVN r. 2446 - некоторое небольшое ускорение отрисовки видео вообще, за счет замены тормозных imul
  • Serge wrote:Появился баг с аппаратными курсорами. Если кликнуть на заголовке не активного окна, появляется мусор.
    Буду смотреть позже - сейчас ухожу из квартиры. Вероятно проблема с порчей каких то регистров, которые в Vesa не были использованы.

    Если не сложно проверь с каждой ревизией:
    2430, 2435, 2436, 2438, 2440 -нужно выяснить когда именно баг появился (естественно display_t при проверке придется в каждой ревизии восстанавливать)
  • Больше похоже на то, что ядро восстанавливает картинку под аппаратным курсором. Сам курсор выгладит правильно.
  • SVN r. 2448 исправил поломанную совместимость с аппаратным курсором. До этого на Intel вообще подвисало при запуске драйвера.

    Итак сейчас имеем следующие показатели при тестировании на Dell Inspiron N7010 (Intel i5) видео от Intel.
    Бывшее стандартное trunk ядро, ревизии 2426, VESA:
    Spoiler:
    1.png
    1.png (5.52 KiB)
    Viewed 6150 times
    Ядро с неморгающим курсором, ревизии 2448, VESA:
    Spoiler:
    2.png
    2.png (5.6 KiB)
    Viewed 6150 times
    Ядро с неморгающим курсором, ревизии 2448, с запущенным драйвером i915.dll:
    Spoiler:
    3.png
    3.png (5.53 KiB)
    Viewed 6150 times
    Некоторые параметры отстают, некоторые опережают. Отмечу тот факт, что драйвер с аппартным курсором не дает существенного прироста скорости - все кроме курсора по прежнему отрисовывает Vesa драйвер.

    Мне было бы очень любопытно видеть результаты замеров, тех же трех случаев, для AMD ATI драйвера, но таких видеокарт не имею.
  • SVN r. 2449 - исправлен поломанный блиттер (используется fplay).
    SVN r. 2450 - после завершения приложения с измененным курсором, сразу происходит отрисовка дефолтного курсора.
  • Марат сделал отличную работу !
    Во всех тестах слева #2451 справа #2426
    Spoiler:Курсор находится в тестовом окне
    1.png
    1.png (6.36 KiB)
    Viewed 6094 times
    Курсор за пределами тестового окна
    2.png
    2.png (6.25 KiB)
    Viewed 6094 times
    Тестовое окно полностью перекрыто
    3.png
    3.png (6.54 KiB)
    Viewed 6094 times
    Курсор не только не мерцает, в большинстве случаев вся отрисовка ускорилась.
  • К сожалению это частный случай. К примеру на Roverbook U800 (где видеочип встроен в процессор) скорость отрисовки заметно ниже, в случае если курсор за пределами изменяемой зоны. Поскольку в случае выключения курсора нет проверок на его пересечение. Однако ситуация меняется когда приходят они веселые глюки курсор в отрисовываемой зоне. Причем можно еще немного ускорить, если не выводить точки принадлежащие самому курсору - они все равно не меняются, пока курсор не движется.
  • SVN r. 2451 - очень небольшой прирост скорости вывода.
    SVN r. 2452 - исправил зависание при завершении сессии отладки ф.69 (MTDBG).
  • SVN r. 2453 Ревизия 2448 была сделана на скорую руку, дабы заткнуть прореху с аппартными курсорами. Потому эта ревизия восстанавливает нагло попранные права производительности и даже немного улучшает ситуацию.

    Итак сейчас имеем следующие показатели при тестировании на Dell Inspiron N7010 (Intel i5) видео от Intel.
    Бывшее стандартное trunk ядро, ревизии 2426, VESA:
    Spoiler:
    1.png
    1.png (5.52 KiB)
    Viewed 6053 times
    Ядро с неморгающим курсором, ревизии 2453, VESA:
    Spoiler:
    2.png
    2.png (5.62 KiB)
    Viewed 6053 times
    Ядро с неморгающим курсором, ревизии 2453, с запущенным драйвером i915.dll:
    Spoiler:
    3.png
    3.png (5.55 KiB)
    Viewed 6053 times
    Теперь самое большое отставание на рисовании горизонтальных линий - около 15%, второй показатель по отставанию вывод картинок - около 12%. Некоторые параметры даже лучше.
    Ну, и разумеется при активации аппаратного курсора ситуация становится еще лучше.

    З.Ы. Шестеренки показывают 895/774/847 соответственно.
  • Who is online

    Users browsing this forum: No registered users and 7 guests