Наблюдаю баг на свежем ноутбуке с 2 видеокартами (Intel + AMD) и Windows 8 — пример layered из Sciter2&3 запускается, болтается в трее но окно не отрисовывается.
С драйверами всё в порядке, на этом же ноутбуке написано уже много всего с Direct3D — всё работает.
Здравствуйте, alexacolor, Вы писали:
A>Наблюдаю баг на свежем ноутбуке с 2 видеокартами (Intel + AMD) и Windows 8 — пример layered из Sciter2&3 запускается, болтается в трее но окно не отрисовывается. A>С драйверами всё в порядке, на этом же ноутбуке написано уже много всего с Direct3D — всё работает.
Запусти пример так (в Sciter 3)
"layered.exe sciter-gfx=gdi" или
"layered.exe sciter-gfx=d2d-warp"
если запустится то значит DirectX драйвер битый. Layered windows у меня через DirectX layer рисуются.
CS>Здравствуйте, alexacolor, Вы писали: CS>А что такое "ноутбук с 2 видеокартами"? Это что за зверь такой?
Таки драйвер не битый 100%, это модная система, где десктоп рисуется вк Intel 4400, а если что задействует DirectX — оно подключает вторую, дискретную видеокарту.
В данном случае это вот такая конфигурация. (правда там про Intel 4400 забыли)
с gdi оно естественно работает с -gfx=d2d-warp тоже но хотелось бы конечно, что бы sciter сам определял, как рендерить.
Re[3]: Layered Window на ноутбуке с 2 видеокартами
А может быть я ввожу в заблуждение и виной всему девелоперская версия Windows 8.1, но на ней же я собираю проект, который активно использует DirectX (вывод видео, шейдеры) и Layered окна и сбоев небыло.
Re[4]: Layered Window на ноутбуке с 2 видеокартами
Здравствуйте, alexacolor, Вы писали:
A>А может быть я ввожу в заблуждение и виной всему девелоперская версия Windows 8.1, но на ней же я собираю проект, который активно использует DirectX (вывод видео, шейдеры) и Layered окна и сбоев небыло.
CS>Свисти если что.
Не получилось. Всё так же. Обычные окна — всё нормально, слоистые — не отображаются.
Свои программки делал по этой статье — они работают. И через WIC\Direct2d и через Direct3D.
Re[6]: Layered Window на ноутбуке с 2 видеокартами
Здравствуйте, alexacolor, Вы писали:
CS>>Свисти если что. A>Не получилось. Всё так же. Обычные окна — всё нормально, слоистые — не отображаются. A>Свои программки делал по этой статье — они работают. И через WIC\Direct2d и через Direct3D.
Ты точно используешь 3.0.0.1?
Re[7]: Layered Window на ноутбуке с 2 видеокартами
Здравствуйте, alexacolor, Вы писали:
A>А вот простой пример на этом же ноутбуке
Ты экспериментировал с чем нибудь более сложным чем это?
Дело в том что в Direct2d графический вывод это batch processing. Нечто типа графических команд в метафайле.
Ты отправляешь всю последовательность на отрисовку, и если драйвер валится на какой-то команде то вся последовательность не рисуется.
Я попробую что-то сделать по поводу обработки ошибок на layered окнах — переключение на нижний gfx layer если хардверный драйвер падает например.
А вообще это проблема общая для Direct2D/DirectX связки. Например вот Mozilla GPU blacklist.
Подожди выхода 3.0.0.2, если там мой автоматический механизм не сработает на твоем hardware то придется SciterSetOption(GFX_LAYER_WARP) задавать явно (если твои окна layered).
Re[10]: Layered Window на ноутбуке с 2 видеокартами
CS>Ты экспериментировал с чем нибудь более сложным чем это?
Конечно. примерно таким образом написан видеоплеер, прекрасно работают программки с firemonkey (он как то так же устроен), да и пока разбирался с directX+Layered запускал массу примеров и всё работало.
Сейчас сделал следующее: отключил видеокарту AMD 8730 демо Layered работает, включил AMD отключил Intel — демо layered работает. включил обе — демо не работает.
Re[11]: Layered Window на ноутбуке с 2 видеокартами
Здравствуйте, alexacolor, Вы писали:
CS>>Ты экспериментировал с чем нибудь более сложным чем это? A>Конечно. примерно таким образом написан видеоплеер, прекрасно работают программки с firemonkey (он как то так же устроен), да и пока разбирался с directX+Layered запускал массу примеров и всё работало. A>Сейчас сделал следующее: отключил видеокарту AMD 8730 демо Layered работает, включил AMD отключил Intel — демо layered работает. включил обе — демо не работает.
В порядке тестов,
CS>layered.exe должен показать D2D/WARP если работает на Intel чипе. И D2D/DX если что-то другое более производительное.
Intel 4000 + Nvidia 635M:
* при запуске с каждым чипом показывает DX.
* при запуске с параметром sciter-gfx=gdi показывает GDI+.
Re[13]: Layered Window на ноутбуке с 2 видеокартами
Здравствуйте, flаt, Вы писали:
F>В порядке тестов,
CS>>layered.exe должен показать D2D/WARP если работает на Intel чипе. И D2D/DX если что-то другое более производительное. F>Intel 4000 + Nvidia 635M: F>* при запуске с каждым чипом показывает DX. F>* при запуске с параметром sciter-gfx=gdi показывает GDI+.
Спасибо. Да у NVIDIA драйверы приличные. У Radeon/ATI традиционно чудеса всякие.