- Масштаб проблемы, связанные с высоким Разрешением устройства Windows
- Обзор
- Решение
- Временное решение
- Дополнительные сведения
- Ссылки
- Как включить корректное масштабирование программ в Windows 10
- Что делать, если программа отображается некорректно
- Адаптация под различные экраны приложений Windows Store
- Что по поводу приложений универсальной платформы Windows?
Масштаб проблемы, связанные с высоким Разрешением устройства Windows
Обзор
При использовании устройства высокого Разрешения Surface Pro 3, 4 Surface Pro или Surface Book с внешним мониторам, возникают следующие проблемы:
Элементов, таких как приложения, панели задач, значки, панели инструментов, текста и диалоговые окна отображаться нечетко.
Элементы являются слишком велико или слишком мало по сравнению с остальной части рабочего стола.
Размытый текст появляется в приложениях или в интерфейсе Windows.
Хотя эти симптомы могут отображаться на один монитор, они чаще при использовании нескольких мониторов, которые по-разному разрешение экрана. Такое поведение также наблюдается при изменении конфигурации оборудования, например, когда закрепление и Отмена закрепления устройства, использующего внешний монитор или отсоединить внешний монитор от устройства.
Эти проблемы обычно возникают в следующих случаях:
Приложения перемещаются между мониторами, использующих различным разрешениям дисплея.
Монитор, что приложения отображаются на изменения между стыковочный узел и конфигураций.
Пользователи смешивать подключений во время одного сеанса входа в систему. Например пользователям вход с помощью удаленного рабочего стола (RDC) и позже подключиться напрямую без первого выхода.
Отображение сведений о определяется при входе пользователя в систему. Процесс входа выхода сбрасывает сведения об отображении и улучшает поведение. Однако проблема повторяется при изменении конфигурации монитора во время одного сеанса входа в систему при закрепить или отменить закрепление устройства, или отсоединения внешнего монитора.
Эта проблема становится распространена, поскольку мониторы введение 4 КБ и более высокое разрешение, особенно когда эти мониторы смешиваются с старых стандартных мониторов.
Дополнительные сведения о как масштабирование приложений Windows см блог основные группы:
Решение
Чтобы решить эту проблему, используйте следующие методы.
Проверка наличия обновлений программного обеспеченияУсовершенствования постоянно добавляются к Windows 10 и Office 2016 приложений. Если возникают определенные проблемы, сначала проверьте, исчезла ли он в последнем выпуске Windows или накопительного обновления. Чтобы проверить обновления Windows 10, обратитесь к следующей статье Microsoft Knowledge Base:
Соответствующие разрешения экранаСледует рассмотреть возможность развертывания мониторы с дополнительными разрешениями.
При использовании нескольких мониторов (в том числе закрепить или подключиться к удаленным экраны), может вызывать проблемы, которые возникают больше различием в разрешении внешних устройств и устройств на машинном коде. Дополнительные сведения см. ниже OneDrive презентации:
Использование приложений UWPИспользовать или развертывать приложения универсальной платформой Windows (UWP) вместо приложений Win32.
Современные приложения (UWP) всегда масштабируются правильно. При наличии сопоставимых современных приложений, можно использовать приложение для решения проблем масштабирования. Например граница является современный приложение, которое не вызывает масштабирование проблем, которые могут возникнуть в Internet Explorer. Аналогичным образом удаленный рабочий стол является альтернативой mstsc.exe.
Проверка наличия известных проблемДополнительные сведения об известных проблемах в этих конкретных продуктов см.
Примечание. Приложения Office 2016 запуска которых выпущены, начиная с сентября 2016. Дополнительные обновления планируется выполнить.
Изменения отображения окна Internet Explorer 11 3165808 между монитор встроенных устройств и внешнего монитора
Временное решение
Для временного решения проблемы масштабирования, попробуйте следующие способы:
Вход, извлечение и возвратВыйдите из системы и войдите в систему. Это улучшает способ отображения приложений и элементов при изменении конфигурации монитора.
Настройка параметров экрана Windows 10
Выберите Показать > Изменить размер текста, приложений и других элементови затем перетащите ползунок для каждого монитора.
Систем Windows предыдущих версий
Щелкните правой кнопкой мыши приложение, выберите команду Свойства, перейдите на вкладку Совместимость и установите флажок Отключение масштабирования изображения при высоком Разрешении экрана .
Изменение свойств приложенияВ проводнике или в меню «Пуск» щелкните правой кнопкой мыши имя приложения, выберите Свойства, выберите вкладку Совместимость и установите флажок Отключение масштабирования изображения при высоком Разрешении экрана .
В Windows 1703 версии 10 и более поздней версии Windows, текст параметр отключить масштабирование экрана при высоком Разрешении экрана изменяется на масштабирование выполняется переопределение высокое разрешение DPI, поведение,: приложение.
Проверьте, является ли приложения, поддерживающего DPIЧтобы определить поддержку масштабирование приложения, выполните следующие действия.
В программе Process Explorer щелкните столбцы и затем добавить столбец Осведомленность точек на ДЮЙМ в представление.
Запустите приложение, которое требуется проверить.
В программе Process Explorer найдите приложение и затем просмотрите столбец Поддержка точек на ДЮЙМ .
Определения состояния осведомленности точек на ДЮЙМ
Каждого монитора помнить: Монитор на дюйм. Эти приложения проверьте DPI при запуске и настраивает масштаб всякий раз, когда изменяется значение DPI. Эти приложения не масштабируется автоматически системой.
Виду системы: Система дюйм. Эти приложения не масштабируются для изменения точек на ДЮЙМ. Запрашивать разрешение DPI один раз, а затем использовать это значение в течение времени жизни приложения. В случае изменения DPI приложения не корректирует значение точек на ДЮЙМ. Он будет автоматически масштабироваться вверх или вниз в системе при изменении DPI с системным значением.
Знают: привязанные точек на ДЮЙМ. Эти приложения не масштабируются для изменения точек на ДЮЙМ. Они всегда предполагается, что у масштаба 100 процентов (96 точек на ДЮЙМ). Эти приложения масштабируются автоматически системой при Разрешении экрана.
Дополнительные сведения см. в следующем разделе MSDN:
Сообщить о проблемеМногие элементы пользовательского интерфейса были обновлены из-за отзывов клиентов. Поскольку проблемы масштабирование может включать несколько симптомов и конфигурации, сведения от пользователей может помочь нам определить конкретные ситуации и определения приоритетов в разработке обновлений.
Чтобы обеспечить такие отзывы, выполните следующие действия.
Запись конфигурации монитора. Для этого сделать снимок экрана окна ( Пуск > настройки > Система > отображения).
Обратите внимание, для каждого монитора, марки и модели, масштабирования процент и разрешение.
Запишите действия, которые необходимо выполнить, чтобы воспроизвести проблему.
До и после масштабирования проблемы принимают снимки экрана или видеозапись рабочего стола и приложений.
Запустите DXDiag.exe в системе.
Выберите Пуск > обратная связь концентратора. Поиск по «DPI», чтобы проверить, соответствует ли все перечисленные проблемы вашей проблеме. Если соответствие найдено, можно добавить дополнительный отзыв, включая снимки экрана, результаты DXDiag и другие необходимые сведения.
Дополнительные сведения
Масштабирование экрана является обманчиво сложной задачей. Нет, магия маркера или одного исправления для решения всех проблем масштабирование. Масштабирование DPI преимущества непрерывного улучшения ядра операционной системы, модели разработки приложений и приложений корпорации Майкрософт и сторонних производителей.
Различные версии Windows и модели разработки приложений имеют другое отображаемое возможности масштабирования и ограничения.
Например в Windows, выпущенных ранее Windows 8.1, рабочей среды и приложений понять только один коэффициент масштабирования, обычно на основании основной дисплей во время начала сеанса входа в систему. При изменении отображения во время сеанса входа в систему, растровые изображения системы масштабировать содержимое из коэффициент масштабирования системы для нового монитора коэффициент масштабирования. Это делает действительно содержимого не становится слишком велико или мало. Тем не менее текст может казаться размытыми. (Эффект — хуже при масштабировании). Если система сжимает или растягивает элементы пользовательского интерфейса для нужного размера, это может вызвать некоторые размытости в диалоговых окнах и других элементов пользовательского интерфейса.
В Windows 10 инвестиций были сделаны таким образом, большие части рабочего стола UX масштабируется недоставало в сценариях закрепление стыковку. Дополнительная масштабируемость были сделаны усовершенствования панели задач, проводник, значки на рабочем столе, контекстное меню и других элементов пользовательского интерфейса для повышения удобства работы пользователей.
Корпорация Майкрософт постоянно обновляя системы и приложений сторонних производителей первого. Сторонние приложения может потребоваться подобные инвестиции.
Ссылки
MSDN: Создание приложений Win32 с поддержкой точек на ДЮЙМ
Блог Турротт: 13 июля 2015 учет, касающейся масштабирование. Статья основана на главе «Устройства» поле 10 руководства по Windows.
Блог Windows: 15 июля 2013 года.
Построения 2015: Масштаб отображения: что это такое и нужно знать о его иметь отличный визуальных объектов
2014 построения: Улучшения платформы разработки настольных приложений Windows
Построения 2013: Создание приложения рабочего стола освещения дисплеи высокого Разрешения
Источник
Как включить корректное масштабирование программ в Windows 10
В 2017 году всё чаще встречаются компактные устройства с экранами большого разрешения. Это планшеты, ультрабуки или просто компьютеры с дорогими мониторами. Владельцы этих девайсов наверняка уже сталкивались с проблемами масштабирования многих классических программ. Большинство Win32-приложений создавались для дисплеев с относительно небольшим разрешением и без учета необходимости масштабировать интерфейс. Последнее крайне необходимо на современных экранах, так как низкое масштабирование на экране с большим разрешением делает интерфейс слишком мелким.
Поэтому запуск неоптимизированных приложений часто приводит к уменьшению размера элементов управления, наложению текста и размытию изображений. К счастью, в Windows 10 Creators Update 1703 инженеры Microsoft добавили механизм, который может решить подобные проблемы.
Что делать, если программа отображается некорректно
- Найдите ярлык нужного приложения, кликните по нему правой клавишей мыши и выберите пункт Свойства. Если не можете найти ярлык, перейдите в папку, куда установлена программа и выберите исполняемый .exe-файл приложения. К примеру, aimp.exe.
- Перейдите во вкладку Совместимость.
- Поставьте галочку Переопределите режим масштабирования высокого разрешения и в выпадающем списке выберите пункт Система (Расширенная).
Теперь Windows 10 будет пытаться правильно рендерить это приложение. Учтите, что в некоторых программах эти действия приведут к нежелательным последствиям. К примеру, видеоплееры могут начать неправильно отображать видео на экране. Также возможно размытие изображений внутри программы. В таких ситуациях вам следует обращаться к разработчикам, поскольку подобные неполадки невозможно исправить на уровне Windows.
Источник
Адаптация под различные экраны приложений Windows Store
Заметил, что у разработчиков возникает множество вопросов по поводу адаптации приложения под экраны различного размера. Для того чтобы была возможность предоставить ссылку, по которой есть необходимая информация, я и решил написать этот небольшой материал. Рассматривать буду не только приложения под Windows 8.1, будет затронута и разработка приложений Windows 10 UWP.
Ни для кого не является новостью то, что существует множество устройств с различными размерами и разрешениями экранов. Для устройства с небольшим экраном, но высоким разрешением необходимо изображение иного размера и качества, чем для устройств с большим экраном и тем же разрешением. Обусловлено это тем, что количество физических пикселей устройства не всегда совпадает с количеством реальных пикселей отображаемых системой/приложением.
Коэффициент масштабирования — это соотношение реальных пикселей устройства и отображаемых. При расчете этого коэффициента учитывается также стандартная дистанция, с которой пользователи смотрят на экран устройства.
В приложениях под Windows 8.1 поддерживается три коэффициента масштабирования: 100%, 140% и 180%. У Windows Phone 8.1 приложений различных коэффициентов масштабирования больше.
В эмуляторе Windows Store приложений, при изменении разрешения экрана вы можете увидеть и само разрешение, и значение коэффициента масштабирования рядом.
Процесс адаптации изображений похож на локализацию изображений. Для того, чтобы для различных разрешений брался верный вариант картинки необходимо внутри папки images создать 3 папки с именами: scale-100, scale-140, scale-180. Внутрь этих папок уже и добавляем изображения с одинаковыми названиями.
Если вы собираетесь хранить все файлы в одной папке, то вам необходимо будет добавить файлам картинок постфикс с указанием коэффициента масштабирования.
Соответственно, вам нужно будет создать 3 версии изображения. Если ваше стандартное изображение имеет 200 пикселей в ширину, то для масштабирования 140% нужно будет умножить ширину на 1,4. То есть вам нужно будет создать такое же изображение 280 пикселей в ширину. Ну и для масштабирования 180% нужно будет иметь такое же изображение шириной 200*1,8=360 пикселей.
Во время выполнения приложения оптимальное изображение выбирается автоматически, в зависимости от того, какое разрешение экрана у пользователя.
Если вы задаете файл изображения из кода, то вывести картинку верного разрешения вам может помочь следующий официальный сниппет, который исходя из значения DisplayInformation.GetForCurrentView().ResolutionScale определяет текущий коэффициент масштабирования экрана:
Используя эти возможности масштабирования изображений можно создавать приложения с гибкими не фиксированными в пикселях макетами, например, используя Grid и указывая в качестве размеров ячеек пропорциональные значения — *.
Адаптация макета приложения под размер экрана
Если содержимое вашего приложения размещено в элементе-контейнере Viewbox, то при изменении размера экрана ваше содержимое будет автоматически растянуто и масштабировано с целью заполнить все доступное пространство. Для того, чтобы растровые изображения при таком увеличении выглядели прилично, необходимо добавить несколько вариантов различного размера, как мы это только что рассматривали.
Размещение приложения внутри Viewbox – это один из предлагаемых вариантов адаптации приложения под различные экраны. Другим вариантом может быть скрытие элементов приложения или изменение их размеров. Рассмотрим работу с различными размерами приложения на примере режима snap.
Стандартно приложение Windows 8.1 может быть минимум 500 пикселей в ширину. В случае, если ваше приложение хорошо будет выглядеть и при более узком виде, либо его вполне можно использовать с другими приложениями, а также если желательно оставлять его как можно дольше в рабочем положении – вы можете установить ему минимальной шириной 320 пикселей. Сделать это можно, указав в редакторе манифеста минимальную ширину 320 или добавив в код манифеста атрибут MinWidth со значением width320 (кстати, в Windows 8 приложениях режим snap был как раз 320 пикселей)
Самым простым вариантом адаптировать приложение под различную ширину может быть императивная установка видимости/невидимости, а также ширины и высоты контролов в событии изменения размера экрана. Сделать это можно приблизительно так:
Но так делать можно в небольших приложениях, в которых вам не будет трудно перебрать все существующие контролы в коде C#. Для нормальных приложений лучше всего изменения внешнего вида хранить в XAML VisualState состояниях. Таким образом, можно предоставить дизайнеру возможность комфортного изменения макета в Blend. Следующий пример содержит те же изменения, что и предыдущий код:
Теперь в событии изменения размера окна мы можем перейти к нужному состоянию (в зависимости от текущего размера экрана):
Здесь для получения размера экрана в ширину и высоту мы опять использовали параметр SizeChangedEventArgs e.
В любой другой момент выполнения программы, ширину и высоту видимого окна приложения (так называемые эффективные пиксели, которые не зависят от размера экрана устройства) можно получить так:
Кроме эффективных пикселей есть еще и raw пиксели (англ. raw — сырой, необработанный) – реальное количество точек на экране или физические пиксели. Например, если экран устройства 1080 пикселей в ширину, то и количество raw пикселей будет 1080 по горизонтали.
Для получения физического размера окна приложения в дюймах (если по каким-то причинам вам вдруг понадобилась эта информация), вы можете использовать следующий трюк:
Что по поводу приложений универсальной платформы Windows?
Универсальные приложения Windows 8.1 уже предоставляли нам возможность сделать свою отдельную XAML раскладку для WP и для Store. На следующем скриншоте два MainPage.xaml файла:
В приложениях UWP нам будет доступна возможность создать множество XAML файлов с представлениями внешнего вида приложения и выбрать нужный из них, в зависимости от различных факторов (размер экрана, разрешение и т.п.). Давайте попробуем.
Создадим в проекте директорию DeviceFamily-Mobile.
Кликнем на ней правой кнопкой мыши и выберем пункт Add new item
Из вариантов нам нужно выбрать XAML View и назвать наше представление так же, как и называется то представление, которое мы хотим заменить. В простом случае это может быть MainPage.xaml.
Теперь тот XAML код, который мы внесем в файл MainPage.xaml, расположенный в папке DeviceFamily-Mobile будет отображен на мобильных устройствах. На десктопах же и иных устройствах будет отображен дизайн приложения из основного MainPage.
RelativePanel
Теперь нам стал доступен новый контрол RelativePanel, который позволяет создавать взаимосвязи положений между своими дочерними элементами.
Например, следующий код:
задает оранжевой кнопке положение под светло синей:
Пример взят отсюда.
AdaptiveTrigger
Windows 10 приложения не только поддерживают VisualState состояния, но и расширяют их новым функционалом. Во первых, теперь стало можно использовать триггеры для UI. А во-вторых, VisualStateManager теперь поддерживает Setters. Теперь отпала необходимость создавать 0-секундную анимацию (даже более того – устарела). Благодаря этому код становится более читаемым. Сравните следующий пример с примером, который мы рассматривали ранее:
Обратите внимание на строку Здесь задается значение минимальной ширины окна приложения, при котором сработает триггер. Далее с помощью Setters задается цвет для состояния. Весь этот код означает, что при изменении ширины приложения, в случае если ширина становится шире чем 600 пикселей цветом Layout становится зеленый.
Замечательная статья (англоязычная), из которой я взял это пример находится здесь.
Device preview toolbar
В Windows 10 ожидается расширение возможностей масштабирования приложений. Уже сейчас вы можете протестировать отображение внешнего вида вашего XAML кода на различных устройствах, используя device preview toolbar:
Обратите внимание на скриншот. Вы можете заметить, что Windows 10 приложения поддерживают гораздо больше коэффициентов масштабирования, чем приложения Windows 8.1. Вот табличка с презентации BUILD 2015, сравнивающая возможности масштабирования различных платформ:
Как вы можете заметить Windows 10 приложения на высоте – они самые «скалистые».
Что-то еще? Узнаем совсем скоро, ведь совсем не за горами 20-ое июля — дата релиза Visual Studio 2015, а там до 29-ого июля и выхода Windows 10 уже рукой подать.
Источник