Тестирование производительности видеокарт в игре Mass Effect: Andromeda на решениях компании Sapphire. Как изменить разрешение экрана монитора? Выбор оптимального разрешения Самые важные разрешения экрана, при адаптивной верстке
Заметил, что у разработчиков возникает множество вопросов по поводу адаптации приложения под экраны различного размера. Для того чтобы была возможность предоставить ссылку, по которой есть необходимая информация, я и решил написать этот небольшой материал. Рассматривать буду не только приложения под 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 определяет текущий коэффициент масштабирования экрана:
// необходимо добавить пространство имен Windows.Graphics.Display;
ResolutionScale resolutionScale = DisplayInformation.GetForCurrentView().ResolutionScale;
Uri uri = null;
switch (resolutionScale)
{
case ResolutionScale.Scale100Percent:
uri = new Uri("ms-appx:///images/scale-100/girl.jpg");
break;
case ResolutionScale.Scale140Percent:
uri = new Uri("ms-appx:///images/scale-140/girl.png");
break;
case ResolutionScale.Scale180Percent:
uri = new Uri("ms-appx:///images/scale-180/girl.png");
break;
}
image.Source = new BitmapImage(uri);
Используя эти возможности масштабирования изображений можно создавать приложения с гибкими не фиксированными в пикселях макетами, например, используя Grid и указывая в качестве размеров ячеек пропорциональные значения - *.
Адаптация макета приложения под размер экрана
Если содержимое вашего приложения размещено в элементе-контейнере Viewbox, то при изменении размера экрана ваше содержимое будет автоматически растянуто и масштабировано с целью заполнить все доступное пространство. Для того, чтобы растровые изображения при таком увеличении выглядели прилично, необходимо добавить несколько вариантов различного размера, как мы это только что рассматривали.
Размещение приложения внутри Viewbox – это один из предлагаемых вариантов адаптации приложения под различные экраны. Другим вариантом может быть скрытие элементов приложения или изменение их размеров. Рассмотрим работу с различными размерами приложения на примере режима snap.
Стандартно приложение Windows 8.1 может быть минимум 500 пикселей в ширину. В случае, если ваше приложение хорошо будет выглядеть и при более узком виде, либо его вполне можно использовать с другими приложениями, а также если желательно оставлять его как можно дольше в рабочем положении – вы можете установить ему минимальной шириной 320 пикселей. Сделать это можно, указав в редакторе манифеста минимальную ширину 320 или добавив в код манифеста атрибут MinWidth со значением width320 (кстати, в Windows 8 приложениях режим snap был как раз 320 пикселей)
Самым простым вариантом адаптировать приложение под различную ширину может быть императивная установка видимости/невидимости, а также ширины и высоты контролов в событии изменения размера экрана. Сделать это можно приблизительно так:
public MainPage()
{
this.InitializeComponent();
this.SizeChanged += MainPage_SizeChanged;
}
/// событие изменения размера приложения
void MainPage_SizeChanged(object sender, SizeChangedEventArgs e)
{
if (e.NewSize.Width < 500)
{
grdMain.Width = 475;
txtField1.Visibility = Visibility.Collapsed;
}
else
{
grdMain.Width = 1000;
txtField1.Visibility = Visibility.Visible;
}
}
/// ...
Но так делать можно в небольших приложениях, в которых вам не будет трудно перебрать все существующие контролы в коде C#. Для нормальных приложений лучше всего изменения внешнего вида хранить в XAML VisualState состояниях. Таким образом, можно предоставить дизайнеру возможность комфортного изменения макета в Blend. Следующий пример содержит те же изменения, что и предыдущий код:
Теперь в событии изменения размера окна мы можем перейти к нужному состоянию (в зависимости от текущего размера экрана):
void MainPage_SizeChanged(object sender, SizeChangedEventArgs e)
{
if (e.NewSize.Width < 500)
{
VisualStateManager.GoToState(this, "MinimalLayout", true);
}
else
{
VisualStateManager.GoToState(this, "DefaultLayout", true);
}
}
// если необходимо определить является ли текущая ориентация устройства книжной или альбомной, то можно использовать сравнение
// if (e.NewSize.Width < e.NewSize.Height)
Здесь для получения размера экрана в ширину и высоту мы опять использовали параметр SizeChangedEventArgs e
.
В любой другой момент выполнения программы, ширину и высоту видимого окна приложения (так называемые эффективные пиксели, которые не зависят от размера экрана устройства) можно получить так:
double windowWidth = Window.Current.Bounds.Width;
double windowHeight = Window.Current.Bounds.Height;
Кроме эффективных пикселей есть еще и raw пиксели (англ. raw - сырой, необработанный) – реальное количество точек на экране или физические пиксели. Например, если экран устройства 1080 пикселей в ширину, то и количество raw пикселей будет 1080 по горизонтали.
Для получения физического размера окна приложения в дюймах (если по каким-то причинам вам вдруг понадобилась эта информация), вы можете использовать следующий трюк:
double width = Window.Current.Bounds.Width * (int)DisplayInformation.GetForCurrentView().ResolutionScale / 100;
double height = Window.Current.Bounds.Height * (int)DisplayInformation.GetForCurrentView().ResolutionScale / 100;
double dpi = DisplayInformation.GetForCurrentView().RawDpiY;
// в случае, если монитор не возвращает данных или у вас настроено клонирование или дублирование экранов на нескольких мониторах вам будет возвращено значение 0 в качестве DPI
double screenDiagonal = Math.Sqrt(Math.Pow(width / dpi, 2) + Math.Pow(height / dpi, 2));
Что по поводу приложений универсальной платформы 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-секундную анимацию (даже более того – устарела). Благодаря этому код становится более читаемым. Сравните следующий пример с примером, который мы рассматривали ранее:
Обратите внимание на строку
Замечательная статья (англоязычная), из которой я взял это пример находится
Приветствую вас, случайные посетители и постоянные читатели блога сайт!
За время существования этого сайта, я менял шаблон несколько раз и даже создавал собственный с нуля.
Одна из главных задач при выборе нового шаблона – это адаптивная верстка сайта под все разрешения экрана.
Краткий план статьи:
В предыдущей статье я уже писал о том, и зачем он нужен. Но как достичь этой самой адаптивности?
Для этого есть разные способы. Кто то использует javascript, кто то что то еще. Но я считаю, что самый простой и правильный способ – это адаптивная с помощью CSS.
Как сделать адаптивную верстку сайта
Во-первых,
если вы взялись верстать адаптивный дизайн сайта, между тегами
Какой я был дурак, что не сделал этого сразу, когда пытался сделать адаптивную верстку сайта!!!
Проблема мобильных браузеров в их масштабировании верстки сайта, даже адаптивной.
Представьте себе, я рисую дизайн, потом прописываю все нужные стили и запросы, проверяю адаптивность сайта при разных разрешениях. Все вроде бы хорошо! Но, когда я открываю свой блог на смартфоне, я вижу, что сайт просто напросто сжался. Он не адаптировался к мобильному устройству, а просто уменьшились размеры шрифта, картинок и т.д.
Как так? Я стал перепроверять все стили, правильно ли я прописал классы, в итоге дошел до того, что через javascript проверил ширину окна браузера в px. Я был в шоке. При проверке на ноутбуке я получил результат 1024px, и примерно такой же результат я получил открыв сайт на смартфоне!
Но ведь этого не может быть!
Оказывается, если не прописать код, который я указал выше, мобильный браузер не понимает, что сайт адаптивный и пытается просто уменьшить страницу сайта, чтобы она влезла в маленький экран мобильника.
Из-за своей глупости и некомпетентности я потерял очень много времени. Зато теперь запомнил навсегда))).
Адаптивная верстка CSS media запросы
Чтобы сделать адаптивную с помощью CSS, необходимо использовать media запросы.
Это как? Да, очень просто. В CSS файле нужно прописать запросы типа:
@media screen and (min-width: 1440px) and (max-width: 1599px){ }
Это код означает, что стили заключенные между “{ } ” будут работать для экранов с минимальной шириной 1440px и максимальной 1599px.
То есть те стили элементов сайта, которые должны быть адаптированны в зависимости от разрешения экрана, должны быть прописаны отдельно для каждой возможной ширины экрана.
Самые важные разрешения экрана, при адаптивной верстке
- 320 px - Мобильные устройства (портретная ориентация);
- 480 px - Мобильные устройства (альбомная ориентация);
- 600 px - Небольшие планшеты;
- 768 px - Планшеты (портретная ориентация);
- 1024 px - Планшеты (альбомная ориентация)/Нетбуки;
- 1280 px и более - PC.
Именно на эти разрешения и нужно делать упор и уделять им особое внимание при адаптивной верстке. Это самые распространенные виды разрешений экранов.
bootstrap адаптивный дизайн
Очень удобно использовать для создания адаптивной верстки bootstrap. Удобство в том, что все стили для адаптации блоков, кнопок, таблиц и т.д. уже прописаны в bootstpap. Нужно только разобраться какой класс к какому элементу присвоить.
Для начала, качайте свежую версию bootstrap и подключите его к своему сайту. Учтите, что подключение стилей и скриптов к wordpress имеет свои особенности.
Верстка на bootstrap отличается тем, что ширина блока или экрана делится на 12 равных частей. И присваивая определенный класс блоку, можно задать ширину блока равной нужному количеству частей.
Например, такая конструкция позволит выделить один широкий блок для контента шириной в 8 частей и один узкий для сайдбара шириной в 4 части экрана:
Ширина блоков будет рассчитываться автоматически в зависимости от ширины экрана. А при просмотре на мобильном устройстве эти блоки будут смещаться друг под друга.
Также можно регулировать отступ блок от края, опять же, на нужное количество частей. Например такая конструкция:
Будет создан блок шириной в 10 частей с отступом слева в 1 часть экрана.
Если разобраться, то работа с бутстрап делает работу с очень быстрой. При чем эти стили точно работают корректно и не будет ничего кривого на сайте.
В будущем я планирую выложить несколько уроков по работе с bootsrap. Поэтому советую , чтобы не упустить этот момент.
Проверка адаптивности сайта
Но возникает вопрос: как проверять адаптивность сайта? Вот прописали вы media запросы в CSS, подключили bootstrap и используете нужные классы. А как вы проверите, что на всех разрешениях экрана сайт правильно адаптируется.
Очень точный и главное бесплатный сервис, который заслуживает уважение и благодарности от веб-мастеров и верстальщиков, которые занимаются адаптивной версткой сайтов.
Ну как вам статья? Все понятно? Если нет, пишите в комментарии, будем разбираться вместе.
Да, чтобы сделать адаптивный дизайн сайта, нужно хорошо потрудится. Но эти труды вознаградятся благосклонным отношением к вашему сайту поисковиков, и самое главное посетителей вашего сайта.
Mass Effect: Andromeda стала одним из самых амбициозных и сложных проектов BioWare. Чтобы довести игру до релиза, понадобились усилия команды из более чем 200 человек и пять лет разработки, в течение которых запуск откладывался по меньшей мере единожды. Главной технической сложностью был переход на движок Frostbite 3, который используется во многих других играх, изданных Electronic Arts, включая Dragon Age: Inquisition. Поскольку предыдущие серии Mass Effect были построены на Unreal Engine 3, BioWare пришлось создать с нуля все графические ресурсы и средства разработки.
Каждая из игр основной трилогии Mass Effect хорошо выглядела на экране для своего времени, но следующая часть изначально была нацелена на самые высокие стандарты визуального качества. В результате, несмотря на массу недоработок, поразивших финальную версию Mass Effect: Andromeda, она по праву входит в список лучших образцов графики среди игр 2016-2017 гг. и сполна использует возможности GPU нового поколения, построенных по техпроцессу 14-16 нм.
За рамками профилей качества в Mass Effect: Andromeda, остались несколько дополнительных настроек графики: хроматические аберрации и эффект кинопленки (практически не влияющие на быстродействие), а также формат кодирования цвета — 32- или 64-битный. «Внутреннее» представление цвета в 64-битном формате устраняет артефакты в сценах с плавными градиентами (текстура неба, эффекты дыма и огня), но, как правило, заметить разницу невооруженным глазом позволит только монитор или телевизор с поддержкой HDR (высокого динамического диапазона). В противном случае эта настройка, которая удваивает размер всех цветовых буферов в конвейере рендеринга, лишь увеличивает требования к объему и пропускной способности RAM видеокарты.
Качество графики | |||||
Низкое | Среднее | Высокое | Ультра | Макс. | |
Зернистость | Вкл. | ||||
Хроматические аберрации | Вкл. | ||||
Режим подгонки разрешения | Авто 720p | Авто 900p | Авто 1080p | Выкл. | Выкл. |
Качество текстур | Низкое | Среднее | Высокое | Ультра | Ультра |
Сглаживание | Выкл. | FXAA | Временное сглаживание | Временное сглаживание | Временное сглаживание |
Рассеянное затенение | Выкл. | SSAO | HBAO | HBAO | Полное HBAO |
Качество постобработки | Низкое | Среднее | Высокое | Ультра | Ультра |
Качество глубины резкости | Выкл. | Низкое | Среднее | Высокое | Ультра |
Сглаживание в движении | Выкл. | Выкл. | Вкл. | Вкл. | Вкл. |
Фильтрация текстур | Низкое | Среднее | Высокое | Ультра | Ультра |
Качество освещения | Низкое | Среднее | Высокое | Высокое | Ультра |
Качество теней | Низкое | Среднее | Высокое | Ультра | Ультра |
Качество эффектов | Низкое | Среднее | Высокое | Высокое | Ультра |
Качество моделей | Низкое | Среднее | Высокое | Ультра | Ультра |
Качество шейдеров | Низкое | Низкое | Высокое | Высокое | Высокое |
Качество ландшафта | Низкое | Среднее | Высокое | Ультра | Ультра |
Качество растений | Низкое | Среднее | Высокое | Ультра | Ультра |
Формат буфера кадров | Сжатый (32 бита) |
Тестирование видеокарт мы провели в трех режимах, охватывающих возможности современных игровых ПК — от бюджетных ускорителей без разъема дополнительного питания до топовых плат NVIDIA серии GeForce 10 (AMD, как известно, сможет составить конкуренцию в верхнем ценовом сегменте только после выпуска GPU семейства Vega). В основу двух режимов легли настройки «низкого» и «среднего» профилей Mass Effect: Andromeda, однако мы выключили масштабирование изображения до разрешений 720p и 900p для того, чтобы рендеринг происходил в действительном разрешении экрана (1920 × 1080, 2560 × 1440 и 3840 × 2160). В последнем, наиболее ресурсоемком режиме все настройки, за исключением масштабирования, были установлены в максимальное положение. Во всех режимах были задействованы хроматические аберрации и эффект кинопленки, а также 32-битный формат цвета.
Скриншоты ниже показывают, как меняется изображение в зависимости от выбранного режима.
Низк. качество |
Средн. качество |
Макс. качество |
||
Низк. качество |
Средн. качество |
Макс. качество |
||
Низк. качество |
Средн. качество |
Макс. качество |
||
Низк. качество |
Средн. качество |
Доброго времени суток! Многие пользователи под разрешение понимают все, что угодно, поэтому, прежде чем начинать говорить об этом, хочу написать пару слов вступления…
Разрешение экрана - грубо говоря, это количество точек изображения на определенную площадь. Чем больше точек - тем четче и качественнее изображение. Так вот, у каждого монитора есть свое оптимальное разрешение, в большинстве случаев, которое и нужно задать для качественной картинки на экране.
В этой статье рассмотрю вопрос изменения разрешения, и типовые проблемы и их решение при этом действии. Итак …
Какое разрешение выставить
Пожалуй, это один из самых популярных вопросов, при изменении разрешения. Дам один совет, при выставлении сего параметра, в первую очередь, ориентируюсь на удобство работы .
Как правило, это удобство достигается при выставлении оптимального разрешения для конкретного монитора (у каждого оно свое). Обычно, оптимальное разрешение указывается в документации к монитору (на этом я останавливаться не буду:)).
Как узнать оптимальное разрешение?
2. Далее щелкнуть правой кнопкой мышки на рабочем столе в любом месте, и в контекстном меню выбрать параметры экрана (разрешение экрана). Собственно, в настройках экрана, увидите возможность выбора разрешения, одно из которых будет помечено, как рекомендуемое (скриншот ниже).
Можно так же воспользоваться разнообразными инструкциями по подбору оптимального разрешения (и таблицами из них). Вот, например, вырезка из одной такой инструкции:
- - для 15-дюймовых: 1024х768;
- - для 17-дюймовых: 1280×768;
- - для 21-дюймовых: 1600х1200;
- - для 24-дюймовых: 1920х1200;
- ноутбуки 15.6 дюйма: 1366х768.
Важно! Кстати, для старых ЭЛТ-мониторов, важно выбирать не только правильное разрешение, но и частоту развертки (грубо говоря, то сколько раз монитор моргнет за секунду). Измеряется этот параметр в Гц, чаще всего мониторы поддерживают режимы в: 60, 75, 85, 100 Гц. Для того, чтобы не уставали глаза - выставите, по крайней мере, не меньше 85 Гц!
Изменение разрешения
1) В видео-драйверах (на примере Nvidia, Ati Radeon, IntelHD)
Один из самых простых способов изменить разрешение экрана (да и вообще, настроить яркость, контрастность, качество картинки и прочие параметры) - это воспользоваться настройками видео-драйвера. В принципе, настраиваются они все аналогично (покажу несколько примеров ниже).
IntelHD
Крайне популярные видео-карты, особенно в последнее время. Почти в половине бюджетных ноутбуков можно встретить подобную карту.
После установки драйверов для нее, просто щелкните по значку в трее (рядом с часами), чтобы открыть настройки IntelHD (см. скриншот ниже).
Собственно, в этом разделе можно задать нужно разрешение (см. скрин ниже).
AMD (Ati Radeon)
Можно воспользоваться так же значком в трее (но он есть далеко не в каждой версии драйвера), либо просто щелкнуть правой кнопкой мышки в любом месте рабочего стола. Далее во всплывшем контекстном меню откройте строку «Catalyst Control Center » (прим.: см. фото ниже. Кстати, название центра настройки может несколько различаться, в зависимости от версии ПО).
Nvidia
1. Сначала щелкаете правой кнопкой мышки в любом месте на рабочем столе.
2. Во всплывшем контекстном меню выбираете «Панель управления Nvidia » (скрин ниже).
2) В Windows 8, 10
Бывает такое, что значка видео-драйвера нет. Происходить это может по нескольким причинам:
- переустановили Windows, и у вас установился универсальный драйвер (который ставиться вместе с ОС). Т.е. отсутствует драйвер от производителя…;
- встречаются некоторые версии видео-драйверов, которые не «выносят» автоматически значок в трей. В этом случае можно найти ссылку на настройки драйвера в панели управления Windows.
Ну, а для изменения разрешения, можно так же воспользоваться панелью управления . В поисковой строке наберите «Экран » (без кавычек) и выберите заветную ссылку (скрин ниже).
3) В Windows 7
Щелкните на рабочем столе правой кнопкой мышки и выберите пункт «Разрешение экрана » (так же этот пункт можно найти в панели управления).
Далее вы увидите меню в котором будут отображены все возможные режимы доступные для вашего монитора. Кстати, родное разрешение будет помечено, как рекомендуемое (как уже писал, в большинстве случаев оно обеспечивает самую лучшую картинку).
К примеру, для 19-дюймового экрана родным является разрешение на 1280 x 1024 пикселей, для 20-дюймового: 1600 x 1200 пикселей, для 22-дюймового: 1680 x 1050 пикселей.
Старые мониторы на основе ЭЛТ позволяют поставить разрешение намного выше, чем для них рекомендуется. Правда, в них очень важная величина - частота, измеряемая в герцах. Если она ниже 85 Гц - у вас начинает рябить в глазах, особенно на светлых тонах.