Главная » Статьи для тега "памяти"

Внутренний формат числовых данных

Добавлено Дата: 3 August, 2014 категория: Free Pascal

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

Читать »

Статические и динамические массивы языка Free Pascal

Добавлено Дата: 28 July, 2014 категория: Free Pascal

Free Pascal так же, как и Object Pascal, поддерживает массивы двух категорий. Первую из них составляют традиционные массивы Паскаля, при объявлении кото- рых в явном или косвенном виде указываются конкретные границы изменения ка- ждого индекса:

Читать »

Управление точками и фрагментами графического экрана Free Pascal

Добавлено Дата: 23 July, 2014 категория: Free Pascal

Каждая точка на графическом экране (пиксел) характеризуется координатами (x, y) и кодом цветности. Программа имеет возможность узнать или изменить код цветности любого пиксела:

var

col: Word;

x, y: SmallInt;

Читать »

Выделение памяти локальным и глобальным массивам Free Pascal

Добавлено Дата: 4 July, 2014 категория: Free Pascal

Программа matrix_4 демонстрирует тактику выделения памяти для глобальных массивов — статического sa1 и динамического ds1 (листинг 6.8). Массиву sa1 па- мять выделяется сразу и всем его элементам присваиваются нулевые значения. Для массива ds1 сначала выделяется 4-байтовый указатель, в который заносится Nil. После первого обращения к процедуре SetLength массиву ds1 выделяется чистая память. При повторном обращении к процедуре SetLength массиву ds1 выделяет- ся новая память, в которую копируются накопленные ранее данные, а хвост — чистится. Функция SizeOf для статического массива выдает объем занятой памяти в байтах, для динамического — только объем памяти, занятой указателем. Функция Length выдает длину любого массива в количестве элементов.

Читать »

Обработка строковой информации Free Pascal

Добавлено Дата: 12 June, 2014 категория: Free Pascal

Free Pascal поддерживает работу со строковыми константами и переменными четырех типов: String, PChar, AnsiString и WideString.

Тип String (строка) появился в самой первой версии Паскаля. Строки такого

Читать »

Адресные объекты Free Pascal

Добавлено Дата: 5 June, 2014 категория: Free Pascal

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

Читать »

Внешнее представление числовых констант

Добавлено Дата: 1 June, 2014 категория: Free Pascal

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

Читать »

Кодовые таблицы символов в Visual C# (Sharp)

Добавлено Дата: 5 March, 2014 категория: C#

Для хранения одного символа требуется 16 бит памяти, а объем памяти, занимаый строкой, зависит от количества символов в строке. Например, для хранения строки длиной в 10 символов требуется 160 бит памяти. Тип string является ссочным типом.

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

Читать »

УСТРОЙСТВА, УСТРОЙСТВА, УСТРОЙСТВА – ANDROID

Добавлено Дата: 29 September, 2013 категория: Программирование игр под Android

 

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

Читать »

Доступ к внешнему хранилищу – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 28 September, 2013 категория: Программирование игр под Android

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

Android предлагает различные способы для реализации этого; вы можете использовать общие настройки приложения, маленькую базу данных SQLite и т. д. У всех этих возможностей есть общая черта – они не обрабатывают большие двоичные файлы. Для чего нам это может понадобиться? Хотя мы можем указать системе, чтобы она устанавливала приложение во внешнее хранилище (и таким образом не тратить память внутреннего хранилища), это будет работать только в версиях Android начиная с 2.2. В более старых версиях ОС все данные приложения будут храниться во внутренней памяти устройства. Теоретически мы могли бы включить код нашего приложения в АРК-файл и загружать все ресурсы с сервера на карту памяти SD при первом запуске программы. Многие известные игры для Android так и делают.

Читать »

Почему OpenGL ES-рендеринг такой медленный? – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 5 September, 2013 категория: Программирование игр под Android

То, что НТС Него медленнее, чем устройства второго поколения, не секрет. Тем не менее чип PowerVR в Droid чуть-чуть быстрее, чем чип Adreno в Nexus One, так что предыдущие результаты на первый взгляд достаточно странные. При дальнейшем исследовании мы можем, наверное, объяснить разницу не различной мощностью графического процессора, а тем, что вызываем множество методов OpenGL ES в каждом фрейме и эти методы занимают очень много памяти. Это значит, что они фактически вызывают С-код, который требует больше памяти, чем вызов метода Java на Dalvik. У Nexus One есть динамический компилятор, так что он имеет некоторое пространство для оптимизации. Поэтому давайте будем считать, что разница обусловлена динамическим компилятором, (что, возможно, не совсем правильно).

Читать »

Сериализация и жизненный цикл приложения – Android

Добавлено Дата: 21 August, 2013 категория: Разработка для Android

 

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

Читать »

КОД: СКУЧНАЯ РУТИНА – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 4 August, 2013 категория: Программирование игр под Android

 

Итак, вы уже знаете, что Android API подходит для разработки игр. Но вам все еще неизвестно, как именно это делать. Уже есть идеи по дизайну игры, однако процесс преобразования его в исполняемый файл пока выглядит неким колдовством. В следующих подразделах я собираюсь сделать для вас обзор составляющих компьютерной игры. Я использую немного псевдокода для интерфейсов, которые мы реализуем позже с помощью Android. Интерфейсы – очень полезная штука по двум причинам: они позволяют нам сконцентрироваться на семантике, не отвлекаясь на детали реализации, а также дают возможность при необходимости менять способ этой реализации (например, вместо использования 2В-визуализации мы для демонстрации мистера Нома можем задействовать OpenGL ES).

Читать »

ОПТИМИЗАЦИЯ ПРОИЗВОДИТЕЛЬНОСТИ – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

Добавлено Дата: 3 August, 2013 категория: Программирование игр под Android

 

Когда мы запускаем подобный пример на мощном устройстве второго поколения, как, например, Droid или Nexus One, все работает быстро и правильно. Если мы запустим его на Него, все начнет тормозить, что весьма неприятно. Но разве мы с вами не говорили, что OpenGL ES – это как раз то, что нам нужно для быстрой визуализации графики? Да, это действительно так. Но только, если мы все делаем так, как этого хочет OpenGL ES.

Читать »

СЕРИАЛИЗАЦИЯ – Android

Добавлено Дата: 30 July, 2013 категория: Разработка для Android

 

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

Читать »