Не удалось создать текстуру dxt mirrors edge

Обновлено: 07.07.2024

У вас есть проблема с открытием .DXT-файлов? Мы собираем информацию о файловых форматах и можем рассказать для чего нужны файлы DXT. Дополнительно мы рекомендуем программы, которые больше всего подходят для открытия или конвертирования таких файлов.

Для чего нужен файловый формат .DXT?

Расширение .dxt главным образом обозначает общий формат и тип файлов "Сжатая растровая текстура DXT" (DXT Compressed Bitmap Texture, .dxt). DXT, также известный как S3CT (S3 Compressed Texture – Сжатая текстура S3), and BC (Block Compression — Блочное сжатие), представляет собой запатентованный формат сжатия растровых текстур. По сравнению с обычными, текстуры DXT занимают меньший объем видеопамяти и позволяют использовать текстурные блоки большего размера.

Текстуры DXT поддерживаются подавляющим большинством графических карт (nVidia, AMD/ATi), видеодрайверов, "движков" трехмерных игр; поддержка DXT также включена в стандартный набор функций OpenGL и Microsoft DirectX.

DXT использует алгоритмы сжатия с потерями, при этом существуют пять основных суб-форматов DXT (DXT1 — DXT5), обеспечивающих различные степени сжатия и качества. В текстурах DXT поддерживается прозрачность (альфа-канал).

Файл .dxt — это двоичный файл со сжатыми текстурами DXT, которые часто упаковываются в другие контейнерные форматы для текстур (главным образом DDS и VTF). В качестве таких контейнеров с текстурами ("скинами") файлы DXT используются большим числом компьютерных игр. Существуют утилиты для преобразования файлов .dxt в .bmp и обратно, а также конвертации текстур DXT в другие форматы.

Кроме того, расширение .dxt присваивается файлам-отчетам автомобильной диагностики (.dxt), создаваемым CarSoft — коммерческим программно-аппаратным комплексом для компьютерной диагностики автомобилей через стандартные диагностические интерфейсы OBD/OBD II (Onboard Diagnostics). Файл .dxt — это отчет о диагностике, который содержит в закрытом формате коды ошибок (при наличии) с их кратким описанием. Существуют средства для чтения и преобразования таких файлов автомобильной диагностики (.dxt).

Применительно к ASPEN OneLiner, коммерческому средству проектирования/анализа электрических энергосетей от ASPEN, расширение .dxt связано с типом файлов "Файл текстовых данных ASPEN" (ASPEN Text Data File, .dxt). Имея синтаксис, аналогичный формату INI, файлы .dxt используются для хранения данных электрических сетей в масштабе района/зоны. Такие файлы (.dxt) можно открывать/редактировать в любом текстовом редакторе.

В этой статье я хочу поделиться своим опытом разработки мобильной игры, поскольку я Windows Phone разработчик, я буду рассказывать про свой опыт применительно к этой системе.

Память и текстуры

Таблица 1. Скорость загрузки изображений.

256 текстур по 128*128 1 dxt 2048*2048 1 origin 2048*2048 1 origin 2048*2047
1 00:00:00.6460000 00:00:00.0330000 00:00:00.1510000 00:00:00.1200000
2 00:00:00.6440000 00:00:00.0330000 00:00:00.1510000 00:00:00.1180000
3 00:00:00.6470000 00:00:00.0410000 00:00:00.1870000 00:00:00.1570000
4 00:00:00.6400000 00:00:00.0330000 00:00:00.1490000 00:00:00.1190000
5 00:00:00.6420000 00:00:00.0330000 00:00:00.1500000 00:00:00.120000
6 00:00:00.6340000 00:00:00.0470000 00:00:00.1320000 00:00:00.161000
7 00:00:00.6340000 00:00:00.0500000 00:00:00.1590000 00:00:00.179000
8 00:00:00.6300000 00:00:00.0500000 00:00:00.1580000 00:00:00.179000
9 00:00:00.6330000 00:00:00.0480000 00:00:00.1580000 00:00:00.179000
10 00:00:00.6210000 00:00:00.0470000 00:00:00.1650000 00:00:00.1820000
Среднее 00:00:00.6371000 00:00:00.0412000 00:00:00.1558000 00:00:00.1514000

Для наглядности график зависимости различных методов загрузки от времени (рис. 1.)



Рисунок 1. График зависимости различных методов загрузки от времени.

  • Изображение делится на блоки 4х4
  • Для каждого блока, находится два самых важных цвета
  • Получившиеся два цвета хранятся в 16 битах, в формате RGB 5.6.5
  • Для каждого из 16 пикселей в блоке, хранится 2 бита значения, указывающее, как далеко он находится между двумя основными цветами
  • DXT1 работает, как я описал выше, плюс некоторая дополнительная магия для кодирования альфа-канала
  • DXT3 цвет кодируется также, как и DXT1, а также хранит 4 бита значения альфа-канала в пикселе
  • DXT5 цвет кодируется также, как и DXT1, а также подобная схема используется для кодирования альфа-канала
  • DXT2 и DXT4 были не очень-хорошо продуманной попыткой стандартизации и не чего дельного не вышло. Вы должны делать вид, что они не существуют

А теперь плохая новость: DXT сжатие – это сжатие с потерями. Иногда они могут быть очень большими. На самом деле это работает очень хорошо для некоторых изображений и совсем не подходит для других.
Итак, когда Вы хотите использовать Dxt компрессию скажем в XNA, когда Вы устанавливаете свойство текстуры Texture формат, параметр DxtCompressed, Content Pipeline автоматически выбирает между DXT1 и DXT5, в зависимости от того, имеет ли ваша текстура альфа-канал. Если она не содержит альфа-канал или содержит однородный альфа-канал будет использовать DXT1, чтобы получить наилучшую степень сжатия, но если текстура содержит дробные значения альфа-канала, он выберет DXT5 вместо этого.

Рассмотрим более подробно каждый из способов сжатия:

DXT1 формат предназначен для декомпрессии в реальном времени аппаратными средствами на видеокарте во время рендеринга. DXT1 является форматом сжатия с потерями, с фиксированным коэффициентом сжатия 8:1. DXT1 сжатие является одной из форм кодирования блока усечениями (BTC), где изображение разбивается на непересекающиеся блоки, и пикселей в каждом блоке квантуются на ограниченное число значений. Значения цвета пикселей в блоке 4x4 пиксель аппроксимируются с равноудаленных точек на линии, проходящей через цветовое пространство RGB. Эта линия определяется двумя конечными точками, и для каждого пикселя в блоке 4x4 2-битный индекс хранится в одном из равноудаленных точек на линии. Концы линии, проходящей через цветовое пространство, кодируются в 16-битный формат 5:6:5 RGB и одна или две промежуточные точки генерируется за счет интерполяции. Формат позволяет хранить 1-битный альфа-канал, путем переключения на другой режим, основанный на порядке конечных точек, где создается только одна промежуточная точка и один вывод дополнительного цвета указывает, что он черный и полностью прозрачный.

Посмотрим на рисунок 2 представленный ниже:
Левое изображение является оригиналом. Правое иллюстрирует сжатие в формате DXT1.



Рисунок 2. Пример Dxt1 сжатия.

Визуально сжатое изображение не отличается от оригинала, что делает результаты сжатия приемлемыми для большинства пользователей. Сжатие, однако, значительно уменьшает размер текстуры.
В данном случае с 256 КБ до 32 КБ.

Однако все не так радужно с этой текстурой (рисунок 3):



Рисунок 3. Пример Dxt1 сжатия.

Основной проблемой является появление шума внутри текста, a также видны отчетливые полосы на фоне градиента.



Рисунок 4. Шумы внутри текста.

На рисунке 5 показано, как сжатие влияет на цвет. Слева Вы видите 16 оттенков красного, от чистого красного до чистого черного. Справа Вы видите четыре цвета, которые получились в результате DXT сжатия, из этих 16 оттенков.



Рисунок 5. Влияние сжатия на цвет.

Рисунок 6 показывает, что происходит, когда разные цвета не находятся на одной линии в цветовом пространстве. В этом случае были использованы все крайности палитры RGB (красный, зеленый и синий). Очевидно, в результате интерполированные цвета не совпадают с оригиналами. Обычно в области пикселей 4x4 не такой широкий выбор цветов, но это показывает, что текстуры с различными цветами страдают больше.



Рисунок 6. Влияние сжатия на цвет.

DXT1 сжатия обычно хорошо работает для шумных текстур и не так хорошо для чистых изображений, а также градиентов. Хитрость заключается в том, чтобы использовать его везде, где это возможно и не использовать его только на тех текстурах, где артефакты сжатия слишком нежелательны.

DXT5 формат, отличается от DXT3 формата, тем что он хранит информацию об альфа канале, подобно тому как хранить информацию о цвете.
Для информации об альфа-канале он использует палитру подобную той, как храниться цифровая информация. Эта палитра содержит минимальное и максимальное значение альфа-канала. Различают два варианта с 6 и 4 опорными точками.
6 других значений альфа интерполируются между этим минимумом и максимумом. Таким образом, это позволяет более постепенные изменения значения альфа.
Второй вариант делает интерполяцию только для 4 других значений альфа-канала между минимальной и максимальной величиной, но также добавляет альфа-значения 0 и 1 (для полностью прозрачными и не прозрачными). Для некоторых текстур это может дать лучшие результаты.



Рисунок 7. Пример Dxt5 сжатия.

Как видим, края не очень хорошо обрабатываются в некоторых частях.



Рисунок 8. Рванные края при использовании Dxt5 сжатия.

Назовите самый лучший формат сжатия текстур. Может это PNG, ETC, PVRTC, S3TC, или ещё какой-нибудь? Вопрос непростой, но очень важный. От ответа зависят качество визуального оформления, скорость работы и размеры Android-приложений. Дело осложняется тем, что универсального «самого лучшего формата» попросту не существует. Всё зависит от потребностей разработчика.


Технология наложения текстур на двумерные или трёхмерные модели широко применяется в компьютерной графике. Делается это для того, чтобы улучшить детализацию объектов, которые представлены моделями. Android поддерживает множество форматов сжатия текстур, каждый из них обладает собственными преимуществами и недостатками.

Предварительные сведения о работе с текстурами и о форматах их хранения

Наложение текстур (texture mapping) – это метод «наклеивания» изображения на поверхности фигур или многоугольников. Для того чтобы было понятнее, фигуру можно сравнить с коробкой, а текстуру – с узорной обёрточной бумагой, в которую эту коробку заворачивают для того, чтобы положить в неё что-нибудь хорошее и кому-нибудь подарить. Поэтому в англоязычной литературе наложение текстур называют ещё и «texture wrapping», что можно перевести как «обёртывание текстурами».



Первый танк – это полигональная модель, а второй – та же модель, на которую наложены текстуры.

MIP-карты (Mipmaps) – это оптимизированные группы изображений, которые генерируются для основной текстуры. Обычно их создают для того, чтобы увеличить скорость рендеринга картинки и для сглаживания изображений (anti-aliasing), то есть – для избавления от эффекта «ступенчатых» линий. Каждый уровень карты (его называют «mip», фактически – это одно из растровых изображений, из них состоит набор текстур, входящих в MIP-карту) – это версия исходной текстуры с пониженным разрешением.

Такое изображение используется в случаях, когда текстурированный объект виден с большого расстояния, или когда его размеры уменьшены. Идея использования MIP-карт строится на том факте, что мы попросту не можем различить мелкие детали объекта, который находится далеко от нас или имеет маленькие размеры. Основываясь на этой идее, различные фрагменты карты можно использовать для представления различных частей текстуры, основываясь на размерах объекта. Это увеличивает скорость рендеринга за счёт того, что уменьшенные варианты основной текстуры имеют намного меньше текселей (пикселей текстуры), то есть GPU приходится обрабатывать меньше данных для вывода текстурированной модели. Кроме того, так как MIP-карты обычно подвергаются сглаживанию, серьёзно уменьшается количество заметных артефактов. Здесь мы рассмотрим MIP-карты в форматах PNG, ETC (KTX), ETC2 (KTX), PVRTC, и S3TC.


Portable Network Graphics (PNG)

PNG – это растровый формат хранения изображения, особенно заметный тем, что в нём используется алгоритм сжатия графических данных без потерь информации. Он поддерживает цветные индексированные изображения (24 бита RGB или 32 бита RGBA), полноцветные и полутоновые изображения, а так же – альфа-канал.

Преимущества

Недостатки

  • Файлы имеют большие размеры. Это увеличивает размер приложений и потребление памяти.
  • Сравнительно высокая потребность в вычислительных ресурсах (что ведет к ухудшению производительности).

Ericsson Texture Compression (ETC)

Ericsson Texture Compression – это формат сжатия текстур, который оперирует блоками пикселей размером 4x4. Изначально Khronos использовал ETC как стандартный формат для Open GL ES 2.0. (эта версия ещё называется ETC1). В результате этот формат доступен практически на всех Android-устройствах. С выходом OpenGL ES 3.0. в качестве нового стандарта использован формат ETC2 – переработанная версия ETC1. Основное различие между этими двумя стандартами заключается в алгоритме, который оперирует пиксельными группами. Улучшения в алгоритме привели к более высокой точности вывода мелких деталей изображений. Как результат, качество изображений улучшилось, а размер файлов – нет.

ETC1 и ETC2 поддерживают сжатие 24-битных RGB-данных, но они не поддерживают сжатие изображений с альфа-каналом. Кроме того, есть два разных формата файлов, относящихся к алгоритму ETC: это KTX и PKM.

KTX – это стандартный формат файла Khronos Group, он предоставляет контейнер, в котором можно хранить множество изображений. Когда MIP-карта создаётся с использованием KTX, генерируется единственный KTX-файл. Формат PKM-файла гораздо проще, такие файлы, в основном, используют для хранения отдельных изображений. Как результат, при использовании PKM в ходе создания MIP-карты получатся несколько PKM-файлов вместо единственного KTX. Поэтому для хранения MIP-карт использовать формат PKM не рекомендуется.

Преимущества

  • Размер ETC-файлов, заметно меньше чем размер PNG-файлов.
  • Формат поддерживает аппаратное ускорение практически на всех Android-устройствах.

Недостатки

  • Качество не так высоко, как у PNG (ETC – это формат сжатия изображений с потерями информации).
  • Нет поддержки прозрачности.

PowerVR Texture Compression (PVRTC)

PowerVR Texture Compression – это формат компрессии графических данных с потерями, с фиксированным уровнем сжатия, который используется, преимущественно, в устройствах Imagination Technology PowerVR MBX, SGX и Rogue. Он применяется в качестве стандартного метода сжатия изображений в iPhone, iPod, iPad.

В отличие от ETC и S3TC, алгоритм PVRTC не работает с фиксированными блоками пикселей. В нём используется билинейное увеличение и смешивание с низкой точностью двух изображений низкого разрешения. В дополнение к уникальному процессу сжатия, PVRTC поддерживает формат RGBA (с прозрачностью) и для варианта 2-bpp (2 бита на пиксель), и для варианта 4-bpp (4 бита на пиксель).

Преимущества

  • Поддержка альфа-каналов.
  • Поддержка RGBA для варианта 2-bpp (2 бита на пиксель) и для варианта 4-bpp (4 бита на пиксель).
  • Размер файлов намного меньше, чем у PNG.
  • Поддержка аппаратного ускорения на GPU PoverVR.

Недостатки

  • Качество не так высоко, как при использовании PNG (PVRTC – это формат сжатия изображений с потерями).
  • PVRTC поддерживается только на аппаратном обеспечении PoverVR.
  • Обеспечивается поддержка квадратных POT-текстур, то есть текстур, ширина и высота которых являются степенью числа 2, хотя в некоторых случаях имеется поддержка прямоугольных текстур.
  • Сжатие текстур в этот формат может быть медленным.

S3 Texture Compression (S3TC) или DirectX Texture Compression (DXTC)

S3 Texture Compression – это формат сжатия графических данных с потерями, с фиксированным уровнем сжатия. Его особенности делают этот формат идеальным для сжатия текстур, используемых в 3D-приложениях, рассчитанных на использование графического ускорителя. Интеграция S3TC с Microsoft DirectX 6.0 и OpenGL 1.3 способствовала его широкому распространению. Существует как минимум 5 различных вариантов формата S3TC (от DXT1 до DXT5). Приложение-пример поддерживает чаще всего используемые варианты (DXT1, DXT3 и DXT5).

DXT1 обеспечивает наиболее сильное сжатие. Каждый входной 16-пиксельный блок конвертируется в 64-битный блок, состоящий из двух 16-битных RGB 5:6:5 цветовых значений и 2-х битной таблицы подстановок размером 4x4. Поддержка прозрачности ограничена одним цветом (1-битная прозрачность).

DXT3 конвертирует каждый блок из 16 пикселей в 128 бит, 64 бита приходятся на данные альфа-канала, 64 – на цветовую информацию. DXT3 очень хорошо подходит для изображений или текстур с резкими переходами между прозрачными и непрозрачными областями. Однако если градаций прозрачности нет, а прозрачные участки в изображении имеются, стоит рассмотреть использование DXT1.

DXT5, как и DXT3, конвертирует каждый блок из 16 пикселей в 128 бит, 64 бита приходятся на данные альфа-канала, 64 – на цветовую информацию. Однако, в отличие от DXT3, DXT5 подходит для изображений или текстур с плавными переходами между прозрачными и непрозрачными областями.

Преимущества

  • Размер файла значительно меньше аналогичного PNG-файла.
  • Достойное качество, низкий процент артефактов в виде полосок, связанных с наложением цветов.
  • Хорошая скорость кодирования и декодирования.
  • Аппаратное ускорение на множестве GPU. На настольных системах поддерживается практически всеми решениями, постепенно распространяется и на платформе Android.

Недостатки

  • Качество ниже, чем у PNG (S3TC – это формат сжатия изображений с потерями информации).
  • Поддерживается не на всех Android-устройствах.

Доступ к данным текстур

Большинство файловых форматов для хранения сжатых текстур предусматривают наличие заголовка, расположенного перед данными изображения. Обычно заголовок содержит сведения о названии формата сжатия текстур, о ширине и высоте текстуры, о её цветовой глубине, о размере данных, о внутреннем формате и другие сведения о файле.

Наша цель заключается в том, чтобы загрузить текстурные данные из различных файлов и наложить их на двумерную модель для сравнения качества изображений и размеров данных. Заголовок, который расположен перед графическими данными, не должен обрабатываться как часть текстуры, если счесть его фрагментом изображения и наложить на модель, это приведет к искажениям. Заголовки файлов у разных форматов сжатия текстур различаются, поэтому каждый формат нуждается в индивидуальной поддержке, иначе правильно загрузить и наложить текстуру не получится.

Обратите внимание

Заголовок PVRTC упакован с учётом наличия члена данных 64-битного пиксельного формата (mPixelFormat в примере). В коде, скомпилированном для ARM, проводится выравнивание заголовка с добавлением к нему 4 дополнительных байтов, в итоге он, из исходного 52-байтового, становится 56-байтовым. Это приводит к тому, что при выводе на ARM-устройствах изображение искажается. В коде, скомпилированном для процессоров от Intel, подобного не происходит. Упаковка заголовка решает проблему с выравниванием на ARM-устройствах, в итоге текстура отображается правильно как на ARM-устройствах, так и на Intel-устройствах.



Вот как выглядит искажение изображения на ARM-устройстве, вызванное выравниванием заголовка

О приложении-примере

Пример Android Texture Compression, фрагменты которого будут приведены ниже, позволяет всем желающим быстро сравнивать качество текстур пяти форматов. А именно, это Portable Network Graphics (PNG), Ericsson Texture Compression (ETC), Ericsson Texture Compression 2 (ETC2), PowerVR Texture Compression (PVRTC), и S3 Texture Compression (S3TC), который иногда называют DirectX Texture Compression (DXTC).

В примере показано, как загружать и использовать текстуры этих форматов с помощью OpenGL ES в Android. Изображения, хранящиеся в разных форматах, располагаются рядом друг с другом, что позволяет сравнить их размер и качество. Выбор наиболее подходящего под конкретный проект формата хранения сжатых текстур позволяет разработчику найти верный баланс между размером приложения, визуальным качеством картинки и производительностью.

В примере производится загрузка изображения, хранящегося в файле каждого из форматов, определение координат для его наложения на модель и отображение фрагмента каждой текстуры. В итоге получается одно изображение, разбитое на четыре текстуры соответствующего формата. Форматы указаны в верхней части экрана, размер файла приведен внизу.

Рассматриваемый здесь пример основан на коде, который создал Уильям Гуо (William Guo). Кристиано Феррейра (Christiano Ferreira), специалист по графическим приложениям Intel, дополнил его примером использования сжатия текстур ETC2. Загрузить код можно здесь.



Форматы сжатия текстур: размеры и качество

Загрузка PNG

С MIP-картами в формате PNG можно работать с помощью простой функции glGenerateMipmap из Khronos OpenGL, которая была создана специально для этой цели. Мы, для чтения и загрузки PNG-файлов, воспользовались кодом, подготовленным Шоном Барретом (Sean Barret), stb_image.c, который находится в открытом доступе. Так же этот код используется для нахождения и выборки участка текстуры, который нужно обработать.

Загрузка ETC / ETC2

Как было упомянуто выше, ETC-текстуры могут храниться в файлах формата KTX и PKM. KTX – это стандартный формат сжатия, используемый как контейнер для нескольких изображений, он идеально подходит для создания MIP-карт. В свою очередь, PKM создан для хранения отдельных сжатых изображений, поэтому создание на его основе MIP-карт приводит к необходимости генерировать множество файлов, а это неэффективно. Поддержка MIP-карт для ETC в примере ограничена форматом KTX.

Khronos предоставляет библиотеку с открытым кодом, написанную на C (libktx), в которой поддерживается загрузка MIP-карт из KTX-файлов. Мы этой библиотекой воспользовались и реализовали код в функции LoadTextureETC_KTX, ответственной за загрузку текстур. Функция, которая непосредственно загружает KTX-файлы, называется ktxLoadTextureM. Она позволяет загружать нужную текстуру из данных в памяти. Эта функция – часть библиотеки libktx, документацию по ней можно найти на сайте Khronos.

Вот фрагмент кода, который инициализирует текстуру и предоставляет поддержку MIP-карт для формата ETC (KTX).

Загрузка PVRTC

Поддержка MIP-карт для PVRTC-текстур – задачка чуть посложнее. После чтения заголовка определяется смещение, которое равняется сумме размеров заголовка и метаданных. Метаданные идут следом за заголовком, они не являются частью изображения. Для каждого сгенерированного уровня карты пиксели группируются в блоки (различия зависят от того, применяется ли кодировка 4 бита на пиксель или 2 бита – и тот и другой варианты подходят для PVRTC). Далее, происходит поиск границ, фиксируется ширина и высота блоков. Затем вызывается функция glCompressedTexImage(), она идентифицирует двумерное изображение в сжатом формате PVRTC. Далее, вычисляется размер пиксельных данных и то, что получилось, добавляется к ранее найденному смещению для того, чтобы сгруппировать набор пикселей для следующего фрагмента карты. Этот процесс повторяется до тех пор, пока не будут обработаны все текстуры, из которых состоит карта.

Загрузка S3TC

После загрузки файла, хранящего S3TC-текстуры, определяется его формат и выполняется чтение MIP-карты, расположенной за заголовком. Производится обход фрагмента карты, пиксели группируются в блоки. Затем, для идентификации двумерного изображения в сжатых данных, вызывается функция glCompressedTexImage(). Общий размер блока затем добавляется к смещению для того, чтобы можно было найти начало следующего фрагмента карты и выполнить те же действия. Это повторяется до тех пор, пока не будут обработаны все уровни карты. Вот фрагмент кода, который инициализирует текстуру и предоставляет поддержку MIP-карт для формата S3TC.

Эта публикация удалена, так как она нарушает рекомендации по поведению и контенту в Steam. Её можете видеть только вы. Если вы уверены, что публикацию удалили по ошибке, свяжитесь со службой поддержки Steam.

Этот предмет несовместим с Mirror's Edge. Пожалуйста, прочитайте справочную статью, почему этот предмет может не работать в Mirror's Edge.

Этот предмет виден только вам, администраторам и тем, кто будет отмечен как создатель.

В результатах поиска этот предмет сможете видеть только вы, ваши друзья и администраторы.


Mirror`s Edge не запускается/выдает ошибку при запуске (Решение)

Данное руководство поможет вам в исправлении косяков разработчиков и вы сможете нормально поиграть в игру.


2


1


3,361 уникальных посетителей
70 добавили в избранное







Для того, что бы игра заработала сперва идём папку с настройками. Путь будет примерно таким: «C:\Users\%your_username%\Documents\EA Games\Mirror's Edge\TdGame\Config». В этой папке лежит файл TdEngine - открываем его текстовым редактором. Затем, ищем раздел [SystemSettings] и удаляем всё что ниже до [Configuration].

Если же у вас игра запускается в разрешении, которое не поддерживает монитор - измените значения в строках ResX и RexY .

Идём в папку с игрой. Путь будет примерно такой: «%disk_name%:\Steam\SteamApps\common\mirrors edge\Binaries». Ищем там файл MirrorsEdge.exe. Открываем свойства данного файла и в разделе «Совместимость» ставим режим совместимости с Windows Vista, иле же Windows XP (Игра изначально планировалась для Vista и XP). Так же, ставим галочку напротив параметра «Выполнять эту программу от имени администратора».

Идём в папку с игрой. Примерный путь: «D:\Steam\SteamApps\common\mirrors edge\Binaries\PhysXLocal». Копируем файл PhysXLoader.dll и вставляем его в корневую папку.

Если у вас наблюдается просадка FPS и различные лаги, то настоятельно рекомендую отключить PhysX в настройках игры. Лично у меня с включённым PhysX было слайд-шоу на втором задании, когда начинали стрелять по стёклам. А после отключения данной технологии всё шло плавно.

Читайте также: