Возможно вы искали: 'Pizza Deliciozo'

May 15 2025 18:19:24
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Повышение производительности в XWindow видеокарт Matrox (linux x xfree86 video tune)

Повышение производительности в XWindow видеокарт Matrox (linux x xfree86 video tune)

Ключевые слова: linux, x, xfree86, video, tune, (найти похожие документы)

From: Шлыков Василий (AKA VaSh) <vash@id.ru>
Subject: Повышение производительности в XWindow видеокарт Matrox

Предупреждение

Данная статья распространяется КАК ЕСТЬ, в надежде оказаться
кому-нибудь полезной. Так что автор не несёт ответственность за
спаленные видеокарты, лапти, валенки или другой ущерб приченённый в
результате попытки двинуть описанные ниже идеи в жизнь.
В свою очередь я, собственно, не претендую на первенство, а хочу лишь
поделиться найденным способом с народом.

'О чём у нас там самое был разговор шёл?'
(c) Не мой.

Данная статья посвящена повышению производительности видеокарточек
Matrox в X'ах (http://www.xfree.org/ XFree86 имеются ввиду).
К сожалению утилиты типа PowerStrip для *nix нет, и поэтому приходится
расчитывать на собственные силы(у кого они есть :-) ). Если заглянуть в manы,
посвященные в частности драйверам Matrox, то можно найти несколько
любопытных ключей, отвечающих за производительность карточки. Это, во
первых, параметр `AGPMode' с помощью которого можно настроить
пропускную способнось AGP шины. Кроме этого у Matrox'овских карточек
есть параметр `OverclockMem' про который, цитирую, сказано:

Set clocks to values used by some commercial X-Servers (G100, G200
and G400 only). Default: off.

И все :-( Но! Есть исходники драйверов Matrox'a :-). Если в них
заглянуть, то окажется, что он отвечает за установку частоты работы
GPU/памяти для видеокарт следующим образом:

CAPTION: Соответствие карта/режим -> частота

`OverclockMem' G100 G200 G400/G550 G400 MAX
GPU Mem GPU Mem GPU Mem GPU Mem
true - 143/220* - 143 125 166 150 200
false - 124/203* - 124 110 166 125 166

* При наличии памяти типа SDRAM

Как видно, по умолчанию G400 работают(по идее) на частоте меньшей, чем
положено :-/ Естественно возникает желание повысить частоту работы
GPU/памяти, тем более что ни в какие спецификации лазить не
приходится, всё уже готово. Итак, для этого нужно:
1. Исходники X'ов(Я правил в 4.3.0, но это не имеет значения, по
крайней мере, для 4.x.x)
2. gcc + make + other stuff ...

Собственно править нужно файл
xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dacG.c Привожу для
удобства нужный нам кусок(с выброшенными ненужными кусками).
static Bool
MGAGInit(ScrnInfoPtr pScrn, DisplayModePtr mode)
{
/*
* initial values of the DAC registers
*/
const static unsigned char initDAC[] = {
/* 0x00: */ 0, 0, 0, 0, 0, 0, 0x00, 0,

...

MGA_NOT_HAL(
/* Allocate the DacRegs space if not done already */
if (pReg->DacRegs == NULL) {
pReg->DacRegs = xnfcalloc(DACREGSIZE, 1);
}
for (i = 0; i < DACREGSIZE; i++) {
pReg->DacRegs[i] = initDAC[i];
}
); /* MGA_NOT_HAL */

switch(pMga->Chipset)
{
case PCI_CHIP_MGAG100:
case PCI_CHIP_MGAG100_PCI:
pReg->DacRegs[ MGAGDAC_XVREFCTRL ] = 0x03;
if(pMga->HasSDRAM) {
if(pMga->OverclockMem) {
/* 220 Mhz */
pReg->DacRegs[ MGA1064_SYS_PLL_M ] = 0x06;
pReg->DacRegs[ MGA1064_SYS_PLL_N ] = 0x38;
pReg->DacRegs[ MGA1064_SYS_PLL_P ] = 0x18;
} else {
/* 203 Mhz */
pReg->DacRegs[ MGA1064_SYS_PLL_M ] = 0x01;
pReg->DacRegs[ MGA1064_SYS_PLL_N ] = 0x0E;
pReg->DacRegs[ MGA1064_SYS_PLL_P ] = 0x18;
}
pReg->Option = 0x404991a9;
} else {
if(pMga->OverclockMem) {
/* 143 Mhz */
pReg->DacRegs[ MGA1064_SYS_PLL_M ] = 0x06;
pReg->DacRegs[ MGA1064_SYS_PLL_N ] = 0x24;
pReg->DacRegs[ MGA1064_SYS_PLL_P ] = 0x10;
} else {
/* 124 Mhz */
pReg->DacRegs[ MGA1064_SYS_PLL_M ] = 0x04;
pReg->DacRegs[ MGA1064_SYS_PLL_N ] = 0x16;
pReg->DacRegs[ MGA1064_SYS_PLL_P ] = 0x08;
}
pReg->Option = 0x4049d121;
}
pReg->Option2 = 0x0000007;
break;
case PCI_CHIP_MGAG400:
case PCI_CHIP_MGAG550:
#ifdef USEMGAHAL
MGA_HAL(break;);
#endif
if (MGAISGx50(pMga))
break;

if(pMga->Dac.maxPixelClock == 360000) { /* G400 MAX */
if(pMga->OverclockMem) {
/* 150/200 */
pReg->DacRegs[ MGA1064_SYS_PLL_M ] = 0x05; // СМОТРЕТЬ, НАПРИМЕР, СЮДА!
pReg->DacRegs[ MGA1064_SYS_PLL_N ] = 0x42; // прим. автора
pReg->DacRegs[ MGA1064_SYS_PLL_P ] = 0x18; //
pReg->Option3 = 0x019B8419; //
pReg->Option = 0x50574120; //
} else {
/* 125/166 */
pReg->DacRegs[ MGA1064_SYS_PLL_M ] = 0x02;
pReg->DacRegs[ MGA1064_SYS_PLL_N ] = 0x1B;
pReg->DacRegs[ MGA1064_SYS_PLL_P ] = 0x18;
pReg->Option3 = 0x019B8419;
pReg->Option = 0x5053C120;
}
} else {
if(pMga->OverclockMem) {
/* 125/166 */
pReg->DacRegs[ MGA1064_SYS_PLL_M ] = 0x02;
pReg->DacRegs[ MGA1064_SYS_PLL_N ] = 0x1B;
pReg->DacRegs[ MGA1064_SYS_PLL_P ] = 0x18;
pReg->Option3 = 0x019B8419;
pReg->Option = 0x5053C120;
} else {
/* 110/166 */
pReg->DacRegs[ MGA1064_SYS_PLL_M ] = 0x13;
pReg->DacRegs[ MGA1064_SYS_PLL_N ] = 0x7A;
pReg->DacRegs[ MGA1064_SYS_PLL_P ] = 0x08;
pReg->Option3 = 0x0190a421;
pReg->Option = 0x50044120;
}
}
if(pMga->HasSDRAM)
pReg->Option &= ~(1 << 14);
pReg->Option2 = 0x01003000;
break;
case PCI_CHIP_MGAG200:
case PCI_CHIP_MGAG200_PCI:
default:
}

MGA_NOT_HAL(
/* must always have the pci retries on but rely on
polling to keep them from occuring */
pReg->Option &= ~0x20000000;

...

return(TRUE);
}

Таким образом, можно задать частоты работы G400 в режиме
`OverclockMem' равными, соответсвенно 150/200 MHz. Для этого копируем
соответствующий блок установок регистров из блока для G400 MAX. И все!
Кстати, обратите внимание на макрос MGA_HAL(...) (из mga_macros.h) он
исполняет код, переданный ему в скобках. Так что, если вы хотите чтобы
этот способ работал, либо вообще не грузите mga_hal_drv.o, либо
уберите этот код ТАМ ГДЕ НУЖНО. См. также MGAISGx50(...).

Для тех, кто не очень ориентируется во всём этом :-)
* Добываете исходники X'ов(лучше из любимого дистрибутива).
* Распаковываете в /usr/src (ну или куда там вам нужно).
* Ползёте в /...там где
нужно.../xc/programs/Xserver/hw/xfree86/drivers/mga
* Правите mga_dacG.c
* Переходите обратно в xc/ и запускаете 'make World' (править
никакие конфиги не надо)
* Для тех, у кого не 2.5+GHz/1Gb: Ждать окончания компиляции не
нужно, можно оборвать процесс когда начнётся, собственно,
компиляция.
* Снова идете в /...там где
нужно.../xc/programs/Xserver/hw/xfree86/drivers/mga, и если там
ещё ничего не скомпилировано, запускаете 'make'. Можно также
поправить Makefile на предмет '-fno-strength-reduce
-fещё-туева-хуча-всего' на '-fstrength-reduce
-fomit-frame-pointer'(ВЕЗДЕ!).
* Когда образуется файл 'mga_drv.o', скопируйте его в
'/usr/X11/lib/modules/drivers'.

Теперь можно править конфиг X-ов.
...

Section "Device"
Identifier "Matrox G400"
VendorName "Matrox"
Driver "mga"
Option "AGPMode" "4" # если вам это надо (и ПОДДЕРЖИВАЕТСЯ!)
Option "OverclockMem" "true" # за что боролись! (или как у вас там)
# + Ваши параметры
EndSection

...

Что касаемо benchmark'ов, то тут широкое поле для экспериментов...
Я юзал 'glxgears': (G400, 125/166->150/200) fps подросли на ~15-20%.
Да и QIII стал пошустрее Ж:-) ...

Шлыков Василий (AKA VaSh) <vash@id.ru>
359 Прочтений •  [Повышение производительности в XWindow видеокарт Matrox (linux x xfree86 video tune)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Повышение производительности в XWin... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка