1

В целях автоматического регрессионного тестирования я собираю несколько скриншотов холста GDI внутри нашего приложения и сравниваю их со скриншотами, взятыми из новых сборок. Для прохождения теста сравнение изображений должно быть идеальным по пикселям. Это хорошо работает на моей машине и на машине коллеги (обе Windows 7), но если мы сравниваем изображения, сделанные на одной машине, с изображениями с другой, сравнение всегда заканчивается неудачей. Разница показывает некоторые незначительные различия в рендеринге шрифтов GDI. Я хотел бы выяснить, какие факторы могут повлиять на рендеринг шрифта, которые вызывают эту разницу во внешнем виде, и у меня заканчиваются идеи.

  • Насколько нам известно, у нас установлены те же шрифты.
  • Размер шрифта установлен на 100% на обеих машинах
  • Мы работаем на том же разрешении экрана
  • Я подозревал настройки ClearType и действительно проверял реестр HKCU\Software\Microsoft\Avalon.Графика \DISPLAY1 обнаружилась с некоторыми клавишами, установленными для уровня, контраста и контрастности текста на моем аппарате, и эти клавиши отсутствуют для моего коллеги. Но я удалил ключи из своего реестра, и после перезагрузки мы все еще не производим соответствующие изображения. Есть ли другой способ экспортировать настройки очистки типа?
  • Я также пробовал визуальные эффекты / гладкие края экранных шрифтов безрезультатно

Существуют ли другие параметры, которые могут привести к тому, что рендеринг шрифтов будет отличаться? Или есть какие-либо сервисные пакеты, в частности, которые могут повлиять на это?

1 ответ1

0

Как и предполагалось, ClearType был Culprit. Это было настроено по-разному на обеих системах. Я нашел другую кучу ключей реестра, кроме перечисленных в HKCU\Software\Microsoft\Avalon.Графика \DISPLAY1, в которой хранится конфигурация ClearType. Они расположены в HKCU\Control Panel \Desktop и называются:

  • FontSmoothing
  • FontSmoothingGamma
  • FontSmoothingOrientation
  • FontSmoothingType

Оказывается, что FontSmoothingGamma был установлен на различные значения на наших машинах (1000 для меня, 0 для меня коллега). После того, как я установил его на 0 и перезагрузил, рендеринг шрифтов на наших машинах теперь идентичен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .