2d ускорение. Как ускорить смартфон или планшет на базе Android? Аппаратное ускорение в Chrome. Что даёт и как его включить

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

1. Отключение системных служб и приложений

Заходим в настройки - диспетчер приложений. Проводим пальцем справа налево, чтобы открыть все приложения.

Перейдя во все приложения мы увидим список всех приложений, которые установлены на вашем планшете.

В самом низу списка отображены все отключенные приложения. Я отключил на своем планшете просмотр улиц, синтезатор речи Google, яндекс киноафиша, яндекс новости, яндекс пробки, яндекс такси.

Также я отключил диспетчер приложений, карты, мировое время, мобильная печать, настройка Google Partner, обмен данными через Wi-Fi Direct.

Отключил Play игры, Play музыка, Polaris Office 5, S Voice, Samsung apps, Samsung print Service.

Отключены на моем планшете также Google play книги, Google play фильмы, Google play поиск, Google+, Hangouts.

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

Вы также можете отключить у себя на планшете приложения, которыми вы не пользуетесь.

Чтобы отключить приложение нажимаем на него в списке приложений. И здесь видим кнопку Остановить, нажав на которую приложение остановит свою работу, но не отключится. При перезагрузке планшета оно вновь начнет свою работу.

Не все системные приложения в планшете можно отключить, некоторые можно только остановить.

Покажу как отключить встроенное приложение на примере приложения сообщения.

Например приложение сообщения, которые позволяет отправлять и принимать смс с планшета можно остановить и отключить, если вы не посылаете и не принимаете смс со своего планшета.

Нажимаем остановить.

Выдается уведомление: Принудительно остановить. Принудительная остановка приложения может привести к ошибкам. То есть приложение сообщение в данный момент работает. Нажимаем да.

Приложение сообщения остановлено. Теперь отключаем приложение сообщения. Нажимаем отключить.

Выходит предупреждающий вопрос: Отключить встроенное приложение?

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

Нажимаем да.

Теперь приложение сообщение отключено.

В списке приложений можно видеть, что оно отключено.

Если отключенное встроенное приложение вам вновь понадобится, то его можно включить. Открываем отключенное приложение в списке приложений и нажимаем включить.

Встроенное приложение сообщение вновь работает.

2. Остановка работающих приложений

Заходим в настройки - диспетчер приложений. Проводим пальцем справа налево, чтобы открыть список «выполняется», в этом списке отображены те приложения, которые работают в данный момент.

Допустим остановим работающее приложение на планшете детский диктофон (это приложение позволяет записывать звуки и голос, когда в детском режиме оно запущено).

Нажимаем остановить, чтобы остановить работу приложения, чтобы выгрузить приложение из оперативной памяти (оно занимает 2,5 Мб. оперативной памяти) и остановить его фоновую работу, которая также нагружает иногда процессор.

3. Включение параметров разработчика

Заходим в настройки - параметры разработчика.

Если у вас нет пункта параметры разработчика, то его можно включить.

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

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

4. Отключение анимации

Заходим в настройки - параметры разработчика, находим пункт масштаб анимации окна и нажимаем на этот пункт.

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

Также отключаем масштаб анимации перехода, шкала длительности аниматора.

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

5. Запретить фоновые процессы.

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

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

Таким образом будет работать только то приложение, которое запущено в данный момент и на экране и ничто не будет фоново «съедать» ресурсы планшета.

Вот видео урок на тему как ускорить Android.

Я знаю приличное количество С++, и теперь я хотел исследовать создание игры. Мне было интересно, какой лучший подход будет в плане написания аппаратной ускоренной игры, которая по-прежнему кросс-платформенная (Windows/OSX/Linux). Это будет игра 2d, но достаточно интенсивная, чтобы рендеринг CPU, вероятно, не сократил бы ее.

Наконец, я видел такие библиотеки, как http://www.sfml-dev.org/ , которые, возможно, упростили, следует ли мне спуститься по этому маршруту?

Еще раз спасибо.

6 ответов

Это нонсенс ребята

OpenGL IS кросс-платформенный. Нет необходимости в Qt или такой. Необходимо адаптировать только несколько частей: API окон и API ввода, которые являются единственными функциями, зависящими от подпрограмм, специфичных для ОС.

У вас есть несколько возможностей:

Перекрестная платформа с аппаратным ускорением 2d С++ app?

Я знаю, что OpenGL, но я не могу найти каких-либо учебников о том, как использовать его в кросс-платформенной манере, все они сосредоточены на одной платформе.

SDL_Init(SDL_INIT_VIDEO); SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8); SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 0);//disable vsync if (SDL_SetVideoMode(scrWidth, scrHeight, 32, SDL_OPENGL) == 0){ fprintf(stderr, "couldn"t set mode %dx%d!\n", 640, 480); SDL_Quit(); return -1; } glewInit();//if you use glew, shaders, extensions. while(gameIsRunning()){//game loop glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); //OpenGL rendering here glFlush(); SDL_GL_SwapBuffers(); } SDL_Quit();

Подробнее см. в документации по sdl.

Использование SDL также возможно, но я боюсь, что игра может не работать, если я ее использую. Это обязательно верно?

Если vsync отключен, вы можете получить от нескольких сотен до тысячи кадров в секунду. Точная производительность зависит от сложности вашего оборудования и сложности сцены. У меня было 300 кадров в секунду для простого 3D-искателя подземелий, в котором использовался "RAW" opengl без отображения списков/объектов буфера вершин. Кроме того, если вы используете механизм с фиксированной частотой кадров или таймером, вы не будете получать больше кадров в секунду, чем вы просили.

SDL использовался для переноса Unreal 2004 на Linux. Он также использовался в порту Linux Doom 3/Quake 4. Поэтому он тщательно протестирован и хорошо известен.

Для меня вопрос не в том, следует ли вам использовать библиотеки или нет. Это библиотека, которую вы должны использовать. Если вы хотите написать игру, найдите библиотеки, которые будут решать большинство проблем с переносимостью для вас. Это позволит вам сосредоточиться на том, что важно больше всего: самой игре. Другие дали больше предложений библиотеки, которые я мог бы вам дать.

Я думаю, что ошибочно беспокоиться о производительности, прежде чем вы даже начали свой проект. Работайте над проблемами производительности, такими как любая другая проблема, с которой вы сталкиваетесь во время разработки. Создайте свою программу, чтобы изолировать библиотеки на одном уровне, отличном от остальной части вашей логики. При необходимости будет проще переключать реализацию. Это даже позволит экспериментировать с различными реализациями.

// separate files class LowLevelGraphicStuff { // abstract }; class LowLevelGraphicStuff_SFML: public LowLevelGraphicsStuff { // actual SFML implementation }; class LowLevelGraphicsStuff_OGL: public LowLevelGraphicsStuff { // actual OpenGL implementation }; // main // Run the game with the SFML implementation. gameLoop(new LowLevelGraphicsStuff_SFML()); // Run the game with the OpenGL implementation. gameLoop(new LowLevelGraphicsStuff_OGL());

В Android, как и в других популярных операционных системах, есть свои секреты. Некоторые из них полезны, но используются редко. Мы расскажем о малоизвестных и интересных секретах Андроида.

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

Инженерные коды

Первый, самый главный секрет – это инженерные коды. Обычным пользователям они вряд ли пригодятся. В основном, они используются работниками в сервисных центрах, когда нужно узнать что-то об устройстве или выполнить системную команду.

*#*#4636#*#* - информация и настройка;

*#*#8351#*#* - включить запись телефонных разговоров;

*#*#4636#*#* - предоставит полезные данные об устройстве:

  • о телефоне;
  • о батарее;
  • статистика и использование телефона и батареи.

*#*#7780#*#* - отформатирует смартфон или планшет, но оставит все приложения, будь то системные или загруженные. Также останутся все файлы на внешней SD-карте.

*2767*3855# - полностью отформатирует девайс.

*#*#34971539#*#* - позволяет управлять прошивкой камеры, а также получить о ней информацию. После введения кода вы можете выбрать:

  • обновление прошивки камеры в образ (ни в коем случае не делать!);
  • обновление прошивки камеры;
  • данные о прошивке камеры;
  • количество выполняемых ранее прошивок камеры.

*#*#7594#*#* - позволит изменить функцию при длительном зажатии кнопки питания. Другими словами, вы можете назначить для нее выключение или перезагрузку гаджета, включение/выключение мобильных данных и так далее;

*#*#273283*255*663 282*#*#* - позволяет сделать резервное копирование любых файлов на устройстве;

*#*#197328640#*#* - открывает меню обслуживания. Вы можете протестировать ваш гаджет, а также сменить настройки WLAN, Bluetooth и GPS;

*#*#232339#*#* или *#*#526#*#* или *#*#528#*#* - настройки WLAN;

*#*#232338#*#* - поможет узнать МАС-адрес Wi-FI;

*#*#1472365#*#* - тест GPS системы;

*#*#1575#*#* - GPS;

*#*#232331#*#* - Bluetooth;

*#*#232337#*# - поможет узнать адрес Bluetooth.

Коды для тестирования

Они запускают различные тесты устройства.

*#*#0283#*#* - тестирование передающей инфраструктуры;

*#*#0*#*#* - экрана (LCD);

*#*#0673#*#* или *#*#0289#*#* - звука;

*#*#0842#*#* - девайса (подсветки и вибрации);

*#*#2663#*#* - сенсора;

*#*#2664#*#* - еще один тест сенсора;

*#*#0588#*#* - датчика движения;

*#*#3264#*#* - RAM.

Режим разработчика

Теперь поговорим о «Режиме разработчика». Вы уже наверняка видели такой пункт в настройках, но теперь пора рассмотреть его подробнее. Данный режим активирует дополнительные функции, которые вряд ли понадобятся в повседневной жизни. В основном, они используются разработчиками и программистами.

Для начала необходимо включить режим разработчика. Заходим в настройки и листаем в самый низ. Находим пункт «Об устройстве», и нажимаем на него несколько раз подряд. Гаджет потребует подтверждения разблокировки режима разработчика – нажмите ОК.


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

  • Пароль резервного копирования. Если не хотите, чтобы чужие руки делали резервное копирование всех файлов вашего телефона (например, после этого загрузив все данные на свое устройство), поставьте пароль на использование.
  • Активный режим. Если ваш смартфон заряжается, то он не будет гаснуть (конечно, если вы сами его не выключите).
  • Защитить карту памяти SD. Все программы будут спрашивать разрешение на использование данных с карты памяти. Так, например, вы можете предотвратить работу вируса.
  • Отладка USB нужна для выполнения взаимодействия гаджета с ПК.
  • Эмуляция расположения эмулирует расположение.
  • Выберите отлаживаемое приложение.
  • Подождать отладчик. Когда отладчик подключится, откроется заданное выше приложение.
  • Показывать прикосновения. Довольно интересная функция, которая показывает, в каком месте вы прикоснулись к экрану. Очень полезная штука, ведь с помощью нее можно обозначать касания на экран и делать скриншоты к инструкциям, как мы сделали в статье про .
  • Показывать место указателя. Выводит подробную информацию о прикосновении и слайде по экрану (Местоположение по Х и Y и др).


  • Показывать ограничения макета. Интересная функция, с помощью которой можно увидеть размер каждого элемента на экране.

  • Показывать обновления представлений GPU. Окна, представленные посредством GPU, будут мигать.
  • Показывать обновления экрана. Обновляемая область экрана будет мерцать ярко-желтым цветом.
  • Настройка анимации. Включает масштаб анимации окна, масштаб анимации перехода и шкалу длительности аппарата. Их отключение очень помогает .
  • Отключить аппаратное наложение – постоянное использование GPU для композиции экрана.
  • Принудительная обработка GPU. Использовать аппаратное ускорение 2D в приложениях.
  • Строгий режим. Если процесс будет выполнять длительные операции в главном потоке, то экран будет мигать.
  • Выводить использование ЦП – информация об использовании центрального процессора в правом верхнем углу.

  • Профиль обработки GPU – измерение времени обработки в ASDG.
  • Включить трассировку. Включает различные трассировки, например, graphics, Input, View и другие.
  • Не сохранять операции. Удалять операции после их завершения пользователем.
  • Фоновые процессы. Позволяет ограничить количество фоновых процессов от одного до четырех.
  • Показать все ANR. Выводить окно «Приложение не отвечает» для фоновых процессов.

По всей видимости, очень многие пользователи современных компьютеров слышали о таком понятии, как «аппаратное ускорение». Вот только далеко не все знают, что это такое и зачем нужно. Еще меньше тех, кто понимает, как включить аппаратное ускорение на Windows 7, например. Предлагаемые далее решения позволят использовать настройки не только в седьмой версии Windows, но и в любых других.

Для чего нужно аппаратное ускорение (Windows 7)

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

Если посмотреть на этот вопрос несколько шире, можно с уверенностью утверждать, что все это применимо и к видео-, и к аудиосистеме компьютера (например, платформа DirectX включает поддержку многоканального звука). В любом случае аппаратное ускорение представляет собой снижение нагрузки на ЦП и ОЗУ за счет того, что ее частично (или полностью) берут на себя другие «железные» компоненты.

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

Как включить аппаратное ускорение на Windows 7

Итак, начнем с самого простого. Первым делом разберемся с графикой. Включить аппаратное ускорение (Windows 7 берем в качестве примера, хотя данное решение можно применять во всех других версиях) можно через настройки графического чипа. Но сначала нужно проверить, требуется ли пользовательское вмешательство.

Через меню ПКМ в свободной зоне «Рабочего стола» переходим к разрешению экрана и используем гиперссылку дополнительных параметров. В появившемся окне свойств смотрим на вкладку диагностики. Вверху имеется кнопка изменения параметров. Если она неактивна, значит, аппаратное ускорение уже включено.

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

Примечание: в Windows 10 раздел диагностики в настройках графического адаптера отсутствует, а аппаратное ускорение (собственно, как и седьмой модификации) включено по умолчанию.

Вопросы, касающиеся DirectX

Теперь несколько слов о том, как включить аппаратное ускорение DirectX. Как и в случае с общими настройками системы, оно и для видео-, и для звукового адаптера включено изначально, так что менять что-то не нужно. Но удостовериться в том, что оно активно, не помешает.

Для просмотра и диагностики используется диалог DirectX, вызываемый командой dxdiag, вводимой в консоли «Выполнить». Здесь на вкладке монитора необходимо проверить параметры DirectDraw, Direct3D и настройки текстур AGP (иногда в список может быть включен параметр ffdshow). По умолчанию напротив каждой строки будет стоять значение «Вкл.», а в окошке ниже будет присутствовать сообщение, что неполадок не найдено. Если по каким-то причинам они обнаружились, переходим к их устранению.

Возможные причины неполадок

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

Проверяем их в «Диспетчере задач» (devmgmt.msc). Если напротив звуковой или видеокарты стоит желтый треугольник с восклицательным знаком (или устройство не определено), это явный признак того, что с драйвером имеются проблемы. Его нужно переустановить, используя для этого собственную базу данных системы, оригинальный диск или загруженные дистрибутивы из интернета.

Но бывает и так, что с устройствами все в порядке. Тем не менее через меню ПКМ выбираем строку свойств, а новом окне на вкладке драйвера смотрим на дату выпуска. Если драйвер на текущую дату сильно устарел, нажимаем кнопку обновления и дожидаемся завершения процесса (заметьте, что Windows обновлять драйвера самостоятельно не умеет).

Однако намного лучше использовать специальные утилиты поиска и обновления вроде Driver Booster. Во-первых, обращение будет производиться прямо на сайт производителя оборудования; во-вторых, будет инсталлирован именно тот драйвер, который максимально подходит для работы устройства; в-третьих, он будет установлен в систему максимально корректно. Участие пользователя минимально.

Заключение

Вот, собственно, и все, что касается того, как включить аппаратное ускорение на Windows 7. Стоит это делать или нет - сугубо личное дело. Но если подходить к вопросу разумно, лучше не использовать аппаратное ускорение, что называется, на полную. В этом случае срок службы установленного оборудования может сократиться очень сильно.

2 D - a кс e л e р a т op - графический ускоритель для обработки двухмерных графических данных (2D), реализует аппаратное ускорение таких функций, как прорисовка графических примитивов, перенос блоков изображения, масштабирование, работа с окнами, мышью, преобразование цветового пространства. Первона­чально видеоадаптеры с аппаратным ускорением графических функций делились на две группы: видеоадаптеры с графическим ускорителем (акселератором) и видеоадаптеры с графическим сопроцессором.

Графический акселератор - устройство, выполняю­щее заданные логические или арифметические операции по жест­кому алгоритму, который не может быть изменен.

Графический сопроцессор - более универсальное устройство и работает параллельно с центральным процессором. Основное отличие графического сопроцессора от графического акселератора в том, что сопроцессор можно запрограммировать на выполнение различных задач, поскольку он является актив­ным устройством: имеет возможность, как и центральный про­цессор, обращаться к системной оперативной памяти и управлять шиной ввода/вывода.

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

З D -акселераторы предназначены для обеспечения возможнос­ти видеть на экране проекцию виртуального (не существующего реально) динамического трехмерного объекта, например, в ком­пьютерных играх. Такой объект необходимо сконструировать, смоделировать его объемное изображение, т.е. за­дать математическую модель объекта (каждую точку его поверх­ности) в трехмерной системе координат, аналитически рассчитать всевозможные зрительные эффекты (угол падения света, тени и т.п.), а затем спроецировать трехмерный объект на плос­кий экран. ЗD-акселератор необходим только в том случае, когда объемное изображение синтезируется компьютером, т. е. создает­ся программно.

Совокупность приложений и задач, в рамках которых реализу­ется эта схема построения трехмерного изображения на экране монитора PC, называется трехмерной графикой, или 3D (З- Dimentional - трехмерный).

Синтез трехмерного изображения. Зd-конвёйер

Синтез ЗD-изображения выполняется путем аналитического расчета различных параметров изображения для создания визу­альных эффектов, обеспечивающих ощущение его объемности и реальности. В частности, в процессе синтеза ЗD-изображения вы­полняются:

    оценка расстояния до предмета путем анализа информации о его размерах (чем меньше объект - тем он дальше);

    оценка последовательности наложения предметов один на другой (кто выше - тот ближе);

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

    анализ световых эффектов на предмете (теней, бликов и т. п.).

Для получения этих эффектов процесс синтеза трехмерного изоб­ражения объекта в виде его двухмерной проекции на экране мони­тора строится по модели, называемой З D -конвейером. Выделяют сле­дующие основные этапы ЗD-конвейера.

1.Построение геометрической модели поверхности объекта путем задания трехмерных координат его опорных точек и уравнений соеди­няющих их линий. Полученная геометричес-кая модель представляет собой так называемую каркасную мо­дель объекта (Wireframe). На рис. 4.14 изображена каркасная модель тора, заданного координатами центра 0 (х, у, z), внут-ренним радиусом R1 и радиусом сечения R2.

2.Разбиение поверхности получен­ного объекта на элементарные плос­кие элементы (прямоугольники или треугольники) - тесселяция (Tesselation), или триангуляция. Это приводит к тому, что поверхность объекта представляет собой совокуп­ность плоских граней - многоугольников, в частности треугольников, как показано на рис. 4.15. Поверхность объекта воспроиз­водится точнее при увеличении числа и уменьшении размеров многоугольников (ср. рис. 4.15, а, б).

3.Моделирование движения объекта: его перемещение, вращение и изменение размеров (формы) - трансформация (transormation) - сводится к стандартному преобразованию ко-ординат вершин отдельных граней в виде многоугольников и реализуется путем выполнения множества различных алгебраических опера-ший с использованием тригонометрических функций. На рис. 4.16 показана трансформация формы объекта путем изгиба и скручи­вания.

4.Расчет освещенности (Lighting) и затенения (Shading) объекта производится в два этапа. Сначала выполняется расчет освещенности каждого элементарного многоугольника с учетом его удаленности от источника света и угла падения светового луча. Чтобы поверх-ность объекта не выглядела со­стоящей из множества отдельных плоских граней, как это показано на рис. 4.17, а, применяют методы затенения, т.е. дополнительно про­изводят интер-поляцию значений ос­вещенности, позволяющую плавно изменять освещенность каждой гра­ни и скрыть резкие переходы меж­ду ними (рис. 4.17, б).

5. Проецирование синтезированно­го трехмерного объекта на плоскость экрана, т.е. первое, предварительное преобразование трехмерного объекта в совокупность двухмерных. При этом в Z-буфере сохраняется совокупность данных о расстоянии каждой из вершин элементар­ного многоугольника, образующего грани, до плоскости проеци­рования. Это позволяет в дальнейшем определить, какие части объекта окажутся видимыми, а какие - нет. Наличие Z-буфера - важнейшее отличие работы с трехмерной графикой от работы с двухмерной.

Обработка данных о вершинах элементарных многоугольников, полученных на предыдущих этапах (Triangle Setup), заключающая­ся в преобразовании формы представле-ния координат вершин: из чисел с плавающей точкой (вещественных чисел) в целые числа, а также в сортировке вершин и других действиях.

Удаление скрытых поверхностей - HSR (Hidden Surface Removal), т.е. исключение из проецирования тех элементов поверх­ности объекта, которые оказываются невидимыми с точки на­блюдения.

Закраска элементарных треугольников, или текстурирование, выполняется наложением текстур (Texture Mapping). Текстура (Texture) - это элемент обшивки объекта, т.е. изобра-жение участка его поверхности, которое хранится в виде квадратной растровой картинки, состоящей из текселов (Texel - Texture Element - элемент текстуры). После наложения текстуры (рис. 4.18, а) кар­касная модель как бы покрывается своеобразным покрытием - текстурой и становится похожей на реальный объект (рис. 4.18, б). В процессе текстурирования каждый многоугольник, составлявший каркасную модель, заменяется на элемент текстуры, а зна­чение каждого пиксела двухмерного изображения вычисляется по значению соответствующего тексела текстуры.

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

MIP -текстурирование, или мипмэппинг (MIP - Multum In Parvo - много в одном), применяется для устранения пикселизации при приближении к ЗD-объекту. MIP-текстурирование заключается в том, что в памяти акселератора хранятся несколько копий одной и той же текстуры, но с различным разрешением LOD (Level Of Detalization - уровень детализации). Каждая последующая копия текстуры содержит в четыре раза больше пикселов, чем предыду­щая. Совокупность всех копий одной и той же текстуры называют MIP-каскадом, пример которого дан на рис. 4.19. В процессе «прорисовки» ближних к наблюдателю поверхностей используют­ся более крупные текстуры, а при прорисовке дальних - более мелкие. Применение мипмэппинга требует значительных объемов памяти акселератора. Для хранения текстуры не в локальной па­мяти ЗD-акселератора, а в RAM PC и при необходимости быстро их подгружать используется локальная шина AGP с высокой про­пускной способностью.

9. Моделирование эффектов прозрачности и полупрозрачности заключается в том, что на основе информации о взаимной прозрачности объектов и среды выполняется коррек-ция цвета пикселов - так называемое альфа-смешение (Alpha - blending ) и затума-нивание (Fogging ).

10. Коррекция дефектов изображения путем сглаживания - ан тиалиасинг (Anti - aliasing ). Антиалиасинг применяется для устранения дефектов изображения типа «лестничного» эффекта на наклонных линиях, муара. Различают краевой (Edge Anti-aliasing) и пол-ный (Full-screen Anti-aliasing - FSAA) антиалиасинг. В первых моделях игровых уско-рителей использовался только краевой антиалиасинг, для современных ЗD-акселераторов обязательным является полный антиалиасинг.

Краевой антиалиасинг заключается в усреднении цвета пикселов на краях (реб-рах) грани на основе взвешенного сумми­рования цветов прилегающих граней. Техника взвешенного сум­мирования заключается в определении весовых коэффициентов, с которыми суммируются цвета при определении цвета краевого пиксела. При этом пола-гают, что каждая точка (линия) на краю грани имеет фиксированную, ненулевую пло-щадь, а значения весовых коэффициентов зависят от того, какую часть этой пло­щади перекрывают прилегающие грани. На рис. 4.20 дана иллюст­рация техники взвешенного суммирования.

Полный антиалиасинг, или субпикселный анти­алиасинг, используется для полного устранения всех дефектов. Суть данного метода в том, что коррекция дефектов выполняется с так называемым виртуальным разрешением, которое выше исходного. При этом каждый пиксел представляется состо­ящим из нескольких виртуальных субпикселов, над которы­ми производится антиалиасинг, как показано на рис. 4.21. После коррекции, когда цвета всех субпикселов определены, исходное раз­решение восстанавливается.

Интерполяция недостающих цве тов - (Dithering ) используется в том случае, когда в текущем видеорежиме 3D-акселератора для кодирования цвета пиксела используется менее 24 бит (напри­ мер, в режиме High Color при 16-битном цвете).


Окончательное формирование кадро вого буфера (Frame Buffer ) - области памяти ЗD-акселератора, в которую помещается спроецированное двухмерное изображение. Кадровый буфер используется для формирования выходного, аналогового видеосигнала ЗD-ускорителя.

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

13. Постобработка (Post-processing) применяется в том случае, когда требуется реализовать какие-либо двухмерные эффекты над подготовленным кадром как единым целым.

Этапы 1-6 ЗD-конвейера образуют его геометрическую ста­дию, на которой выполняются интенсивные тригонометрические вычисления с помощью CPU. Однако существует тенденция обес­печения современных игровых ЗD-акселераторов специальным про­цессором, обеспечивающим аппаратное ускорение выполнения геометрической стадии ЗD-конвейера.

Этапы 7-13 ЗD-конвейера образуют стадию прорисовки объек­та, или стадию рендеринга (Rendering-изображение, рисова­ние, визуализация). На этой стадии все действия выполняются уже с растровыми объектами, состоящими из отдельных, дис­кретных элементов - пикселов и текселов. Выполняемые на ста­дии рендеринга операции не характерны для центрального про­цессора (как на геометрической стадии), поэтому именно на этом этапе конвейера необходимо аппаратное ускорение. Большин­ство современных ЗD-ускорителей предназначено для рендеринга на аппаратном уровне и различается лишь числом реализуемых функций.

Программным интерфейсом для ЗD-акселераторов служит так называемый интерфейс прикладного программирования (Application Program Interface - API). API занимает промежуточное положение между высокоуровневыми прикладными программами и низко­уровневыми командами различных ЗD-акселераторов и обеспечивает эффективное преобразование запросов прикладной програм­мы в оптимизированную последовательность низкоуровневых ко­манд. Благодаря API, разработчики прикладных программ избав­лены от необходимости работать с низкоуровневыми командами акселератора.

В настоящее время существуют несколько платформ API, отли­чающихся областями применения.

DirectX разработана фирмой Microsoft, используется в игровых приложениях, работающих под управлением операционной сис­темы Windows 95/98, и включает в себя несколько узконаправ­ленных API:

DirectDraw обеспечивает использование аппаратных средств ус­корения обычной, двухмерной графики;

Direct3D отвечает за работу графической системы в режиме со­здания трехмерных изображений;

DirectInput обеспечивает аппаратно независимый ввод инфор­мации в ПК через клавиатуру, мышь и джойстик;

DirectPlay используется при совместной игре на нескольких ком­пьютерах, объединенных в сеть или соединенных непосредствен­но, через параллельный или последовательный порты;

DirectSound управляет использованием ресурсов звуковой сис­темы ПК.

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

DirectX является жестко регламентированным, закрытым стан­дартом, который не допускает изменений до выхода в свет своей новой версии.

OpenGL используется в основном в профессиональных прило­жениях (CAD, системы трехмерного моделирования, симуляторы и т.п.), работающих под управлением операционной системы Windows NT. Вместе с тем существуют и игры, ориентированные на OpenGL, например Quake.

API OpenGL построен на основе концепции открытого стан­дарта, имеющего небольшой базовый набор функций и множе­ство расширений, реализующих более сложные функции. Произ­водитель Chipset карты ЗD-акселератора обязан создать BIOS и драйверы, выполняющие базовые функции OpenGL, но не обя­зан обеспечивать поддержку всех расширений. В результате возни­кают проблемы, связанные с написанием производителями драй­веров для своих изделий, которые поставляются как в полном, так и в усеченном виде. К числу OpenGL-совместимых драйверов относятся следую­щие:

ICD (Installable Client Driver - драйвер приложения-клиента) обеспечивает максимальное быстродействие, поскольку содержит низкоуровневые коды, обеспечивающие поддержку не только ба­зового набора функций, но и его расширений.

MCD (Mini Client Driver) содержит оптимизированный код лишь для некоторых этапов ЗD-конвейера, поэтому акселератор под его управлением работает медленнее.

Мини-порт - группа специализированных OpenGL-совмеcтимых драйверов, каждый из которых специально разработан для работы с какой-либо одной программой или игрой. Такой мини-порт применяется, когда, например, возникает необходимость поиграть в QuakeGL или Quake II на ПК с Windows 95 и 3D-акселератором, не рассчитанным на использование OpenGL.

Раппер (Wrapper - устройство для оборачивания, завертыва­ния, окутывания) - мини-порт, который может работать как ICD за счет перевода инструкций OpenGL в инструкции Direct3D, эбеспечивая при этом самую низкую скорость работы по сравне­нию с драйверами других типов.

Game Engine - «игровой движок» - драйвер, разработанный Идя конкретной ЗD-платы и обеспечивающий максимальную про­изводительность за счет непосредственного использования низ­коуровневых команд акселератора, без использования API.

Принципиальным отличием API OpenGL от DirectX является Го, что OpenGL ориентирован на корректность создаваемых изоб­ражений, тогда как для DirectX важны скорость прорисовки и естественность изображения.

Кроме того существуют Native API, создаваемые производите­лями ЗD-акселераторов исключительно для своих Chipset с целью наиболее эффективного использования их возможностей.

Для настройки видеосистемы с целью обеспечения максималь­ной производительности при работе с трехмерной графикой пользователь ПК должен:

*при выборе ЗD-платы четко представить область ее будущего применения: игры или решение профессиональных задач;

*установить в систему требуемый API;

*проконтролировать настройку параметров драйвера и/или при­кладной программы, задействовав необходимые функции 3D-aK-:елерации;

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

При работе с программами, ориентированными на DirectX, пользователь не выполняет перечисленные выше настройки, поскольку они производятся автоматически.

Устройство и характеристики видеоадаптера

Первые ЗD-акселераторы выполнялись в виде самостоятельного устройства только для работы с трехмерной графикой, устанав­ливаемого в слот шины ввода/вывода и соединяемого с видео­адаптером специальным кабелем.

Современные видеоадаптеры содержат один мощный графи­ческий процессор, в состав которого входит ЗD-акселератор. В связи с этим понятие «ЗD-акселератор» означает не специализирован­ную плату, а универсальный видеоадаптер, в состав которого вхо­дит ускоритель трехмерной графики.

Современный видеоадаптер (видеокарта) включает следующие основные элементы :

Графический процессор;

Модули оперативной памяти;

RAMDAC - цифроаналоговый преобразователь, выполняю­щий преобразование цифровых сигналов ПК в сигналы, форми­рующие изображение на мониторе.

Интегральным показателем качества видеоадаптеров, сфера при­менения которых - в основном трехмерные игры, является час­тота смены кадров (frame per second - fps). В каждой трехмерной игре этот показатель будет различным.

Качество современного видеоадаптера можно считать удовлет­ворительным, если в игре Quake при разрешении 1600x1200 он обеспечивает 60 - 70 fps.

Другим показателем качества видеоадаптера является макси­мальное число обрабатываемых элементарных простых объектов (многоугольников, треугольников) в секунду. Эти значения для отдельных видеоадаптеров составляют 800-1200 млн/с.

Объем оперативной памяти видеоадаптеров достигает 128 Мбайт. Типы памяти, используемой в видеоадаптерах, аналогичны мо­дификациям обычной оперативной памяти. В недорогих моделях используется память SDRAM или ее более быстрая графическая модификация SGRAM со временем доступа 7 -8 не. Более совер­шенные модели оснащены памятью DDR SDRAM со временем доступа 5 -6 не.

Частота работы графического чипа и памяти видеоадаптера может быть одинаковой или разной. Например, базовая частота чипа самых популярных видеокарт 2004 г. составляла свыше 500 МГц, а частота памяти - более 1000 МГц.

Частота RAMDAC определяет качество видеоадаптера. Боль­шинство современных видеокарт имеют частоту RAMDAC в диа­пазоне 250 - 400 МГц.

Тип интерфейса с шиной ввода/вывода оказывает существенное влияние на быстродействие всей видеосистемы. Для эффективной работы с трехмерной графикой современные видеоадаптеры ком плектуются интерфейсом AGP. AGP4x - суперскоростной режим, обеспечивающий скорость обмена 1,06 Гбайт/с. На компьютерном рынке наиболее популярны видеокарты на чипсете собственной оригинальной разработки, предлагаемые фирмами ATI, Matrox и 3dfx, в то время как чипсеты фирмы Nvidia используются в составе видеокарт других производителей. Видео­карты ATI предпочтительнее в мультимедийных комплексах, про­изводства 3dfe - в игровых приложениях, а фирма Matrox специ­ализируется на двухмерной графике.

Для поддержки спецэффектов в игровых приложениях (анти-алиасинга, имитации тумана, пламени, ряби на водной глади) в процессор видеоадаптера все чаще встраивают специальный блок «трансформации и освещения» (Т&Т), который позволяет полу­чить высокое качество игрового изображения.

Для приема телевизионных сигналов и вывод их на монитор в плату видеоадаптера встраивают TV-тюнер. Встроенные TV-тюнеры не отличаются высоким качеством изображения, которое мо­жет воспроизводиться в небольшом окне Windows. TV-тюнеры, устанавливаемые в отдельный слот компьютера, обеспечивают пол­ноэкранный режим и высокое качество изображения, обеспечи­вая при этом выполнение дополнительных сервисных функций: телефонные переговоры через Internet, прослушивание радио, прием спутникового телевидения при наличии спутниковой ан­тенны.

Внешние TV-тюнеры, подключаемые через порт USB, обеспечивают воспроизведение телепередач в «оконном» режиме на экране монитора.