Главная » Статьи для тега "только"

Синхронизация потоков в Visual C# (Sharp)

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

Если несколько потоков разделяют состояние (например, переменную), то может возникнуть проблема параллельного использования данных. Совместное использание состояния независимыми потоками не представляет проблемы, если все поки обращаются к данным только для чтения. Но что бы произошло, если бы на многоядерной машине (см. рис.  13.3) поток одного ядра читает состояние объекта, а поток другого ядра модифицирует это же состояние? Какое состояние прочитает первый поток, до или после модификации? Будет ли прочитанное состояние дейсительным? Скорее всего, нет, и поэтому доступ потоков к состоянию необходимо синхронизировать.

Читать »

Стандартные реализации приложения для вычисления налогов Visual C# (Sharp)

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

В некоторых случаях в базовых классах нет необходимости. Иногда можно просто создать стандартную реализацию, которая может охватывать несколько подсистем. В случае с движком для вычисления налогов, доход есть доход,  что в Канаде, что в Соединенных Штатах, что в Германии. Разница заключается в том, каким обром доход обрабатывается при вычислении налогов. Еще одним постоянным аспеом для всех стран является то обстоятельство, что капитальный доход облагается только частичным налогом.

Читать »

Установка плагина Processing в Eclipse

Добавлено Дата: 30 March, 2014 категория: Processing

Когда Processing только появился, им сложно было пользоваться в Eclipse. Вы должны были создать проект Java и вручную добавить к проекту основной .jar файл Processing. Теперь команда Processing сделала работу с Processing в Eclipse реально удобной. Они создали плагин для Eclipse, который позволяет вам запускать в этой среде скетчи Processing.

Читать »

Введение в структурный код приложения обмена валют в Visual C# (Sharp)

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

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

Читать »

Реализация ядра приложения управления освещением в Visual C# (Sharp)

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

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

Далее приводится пример  реализации метода DimLights для плавного понижения уровня освещения С ПОМОЩЬЮ класса LightingController:

Читать »

Оператор goto в Visual C# (Sharp)

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

Оператор  goto позволяет  передавать  управление  из  одного  места  кода  в другое. В прошлом, когда не было объектов, методов и других продвинутых конструктивов программирования, разработчики использовали оператор goto, потому что у них не было другого выхода. В настоящее время многие разработчики программного обеспечения недолюбливают оператор goto. Они считают его использование прнаком неряшливого программирования, и что его никогда не следует применять. На форуме Channel 9 (http://channelg.msdn.com/ShowPostaspx?PageIndex=I&PostID= 14652) есть хорошая дискуссия на предмет использования оператора goto.

Читать »

Вычисление функций – функциональное программирование

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

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

Читать »

Реализация потоковой архитектуры "читатель/писатель" в Visual C# (Sharp)

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

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

Читать »

Концепция связывания вершин – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

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

Можем ли мы еще что-то оптимизировать? Еще раз посмотрим на наш текущий метод present  (с убранными glRotatef  и gl Seal ef ):

Выглядит гораздо лучше, не правда ли? Но на самом деле метод еще не идеален. Для начала мы можем переместить вызов gl .glMatrixMode в метод resume, однако это не даст значительных улучшений. Вот что еще можно оптимизировать.

Читать »

Пространственная сетка – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

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

Наша пушка будет ограничена прямоугольником размером 1 х 1 м; ограничивающий прямоугольник пушечного ядра будет размером 0,2 х 0,2 м, а у мишеней будут ограничивающие прямоугольники по 0,5 х 0,5 м каждый. Чтобы все стало немного проще, ограничивающие прямоугольники центрированы относительно позиции каждого объекта.

Читать »

MIР-ТЕКСТУРИРОВАНИЕ – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

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

 

Если вы достаточно поработали с предыдущими примерами и отодвинули куб подальше от камеры, вы могли заметить, что текстуры начинают выглядеть зернисто и наполняются небольшими артефактами по мере уменьшения куба. Этот эффект называется наложением, или алайзингом, – известный эффект, присутствующий при всех типах обработки сигналов. На рис. 11.8, справа показан этот эффект, а на рис. 11.8, слева – результат применения приема, который называется mip-текстурированием.

Читать »

Небольшая тестовая активность, демонстрирующая все методы вывода графики  – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

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

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

Читать »

ФРАГМЕНТЫ ТЕКСТУР, СПРАЙТЫ И ПАКЕТЫ: СКРЫВАЕМ OPENGL ES – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

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

 

До настоящего времени наш код для примера с пушкой включал в себя шаблоны, без некоторых из них можно обойтись. В частности, это касается определения экземпляров класса Vertices. Утомительно постоянно писать семь строк кода только для того, чтобы определить один текстурированный прямоугольник. Еще одна область, в которой можно поработать, – ручное вычисление текстурных координат для изображений в атласах текстур. И наконец, очень много лишнего и повторяющегося кода употребляется для отображения наших 20-прямоугольников. Я также упоминал об удобном способе отображения нескольких объектов вместо выполнения отрисовки для каждого объекта в отдельности. Мы можем решить все эти проблемы, для чего применим несколько новых концепций.

Читать »

Отправка вершин к OpenGLES – РАЗРАБОТКА ИГР ДЛЯ ОС ANDROID

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

Как мы опишем местоположение трех вершин нашего первого треугольника? Легко – предположим, что наша система координат лежит в диапазоне от (0; 0; 1) до (320; 480; -1). Тогда мы можем сделать следующее:

Читать »

Типы реализации коллекций – JAVA ДЛЯ ANDROID

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

 

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

ArrayList – список на основе массива. В нем быстро происходит индексация, но медленно изменяется размер.

Читать »