Фирма, в которой я работаю, производит аппаратуру для нейрохирургов и нейрофизиологов, в основе которой лежит технология Deep Brain Stimulation. Если коротко, в живой мозг втыкается электрод, и нейрохирург может считывать из мозга сигнал или стимулировать клетки мозга разрядом тока. У технологии огромное будущее в деле лечения болезней (например, болезни Паркинсона, дистонии, эпилепсии) и в создании нейроинтерфейсов: нейропротезирование, в частности, восстановление зрения; аугментация мозга дополнительными устройствами, расширение возможностей мозга. Скажем, спецслужбы очень интересуются способом считывать и записывать информацию из зрительных и слуховых нервов, а также управлять движением животных, что позволит создать новый класс шпионов.
Для клинического применения в целях лечения тремора при болезни Паркинсона достаточно лишь нескольких внедряемых контактов (а некоторые нейрохирурги обходятся вообще одним). Но для исследователей, изучающих работу мозга, количество контактов имеет значение, и им нужно получать данные от как можно большего числа контактов одновременно и синхронно. Скажем, тысяча, или две тысячи внедрённых в мозг контактных площадок. Понятно, хотелось бы, чтобы и скорость была пристойной, — скажем, сорок тысяч замеров с каждого контакта в секунду. И чтоб разрешение было повыше, чтоб каждый замер был хотя бы в 32 бита, в формате float или Q. Получаем, что система производит порядка 320 мегабайт данных в секунду, так что всё это придётся обрабатывать.
Что такое Firebase realtime database
Кроме считываемых непосредственно из мозга «чистых» данных, есть ещё данные отфильтрованные: результат применённых к замерам фильтров верхних и нижних частот. Используются фильтры высоких порядков, хотя бы четвёртого, реализованные в виде полиномов. Они применяются к каждому входящему замеру, увеличивая количество данных, о которых система должна заботиться, вчетверо, и поднимая количество генерируемых данных до 1,3 гигабайта в секунду. Но это уже не моя забота, потому что они генерируются из переданных мной данных после того, как я свою часть работы выполнил.
Результат всего этого счастья нужен в режиме реального времени и крайне важен. Пропускать нельзя ни одного замера, потому что основную работу по анализу данных исследователи выполняют после окончания эксперимента. Поэтому всё это богатство данных, помимо показа на экране, придётся записывать на жёсткий диск. Все 1,3 гигабайта данных в секунду.
И потом читать в Matlab`е, NeuroExplorer`е или другой программе. Система, которая сохраняла 99,99999% данных, не прошла контроль качества и была забракована, потому что теряла до 13 тысяч замеров каждую секунду.
А вот теперь мы со всем этим попробуем взлететь.
Формулировка задачи
Имеется разработанная фирмой плата с контроллером FPGA, с одной стороны в которую воткнуты провода, идущие от мозга, (ну, на самом деле, от конвертеров, типа такого), а с другой есть выход PCIe. Этим выходом плата будет воткнута в порт PCIe на самом обычном, просто очень мощном, компьютере.
Мне предстояло создать драйвер, который получает данные потенциалов от этой нашей кастомной платы, обрабатывает на подключённой к тому же PCIe видеокарте (результат расчёта фильтров одного контакта не зависит от результатов другого; глупо не использовать для независимых расчётов процессор, который специально заточен на выполнение большого числа однотипных параллельных расчётов одновременно) и передаёт дальше в пользовательский интерфейс. И делать это надо очень-очень быстро, потому что новые пакеты с восемью замерами данных от каждого контакта приходят каждые 200 микросекунд. И, самое главное, сделать это надо под десятой Виндой, потому что нейрохирурги не знают и знать не хотят ничего, кроме Винды и Мака. Причём, судя по внешнему виду некоторых клиентов и адекватности высказываемых ими требований к программе, последнее слово предыдущего предложения можно писать с маленькой буквы.
Люди в теме уже сообразили, что речь идёт о hard realtime: гарантированный ответ на полученные данные в течение фиксированного времени, и неважно, что за дичь творится вокруг, без возможности задержаться или пропустить хотя бы один пакет. Эти же люди в теме уже покачали головой: творящаяся вокруг дичь — это Windows, hard realtime под Windows невозможен, Windows не операционная система реального времени. Более того, Windows не заточен под работу с квантами времени меньше миллисекунды, поэтому работа со скоростью «полный цикл обработки данных за 200 микросекунд» под Windows невозможна вдвойне.
Soft realtime отличается от hard realtime тем, что в soft иногда небольшие задержки всё-таки разрешены, при условии, что система от задержки очухается и успеет наверстать упущенное и разгрести данные, накопившиеся за время задержки, без потери производительности.
Существуют всякие расширения под Windows, которые позволяют частично имплементировать realtime. Например, операционные системы On Time, RTX64 от IntervalZero и прочие. Они сводятся к одной и той же идее: мы отбираем у Винды одно или несколько ядер и кусок памяти, делаем вид, что их в компьютере больше нет, и запускаем на них свою собственную операционку.
После того, как этот монстр Франкенштейна раскочегарится и выйдет на рабочий режим, на компьютере будут работать одновременно две операционных системы: realtime и Windows. Между ними можно настроить общение.
Это решение будет работать с двумя оговорками: во-первых, из-под Windows практически нет возможностей повлиять на то, что происходит внутри запущенной параллельно realtime ОС, (например, программы для неё надо компилировать при помощи проприетарной SDK; нельзя во время работы передать в неё свою собственную программу для обработки получаемых данных и запустить её), а во-вторых, стоимость этого решения, мягко говоря, неадекватна. Лицензия разработчика RTX64 стоит порядка 10 тысяч долларов, а за каждый экземпляр готового продукта, ушедшего клиенту (тому самому нейрохирургу), придётся заплатить ещё 500 долларов. Вдобавок к 600-долларовой лицензии на Винду, которую клиент тоже получит. Это выводит общую стоимость продукта из зоны конкурентоспособности и делает его финансово непривлекательным для потенциальных покупателей.
За десять тысяч долларов плюс неустановленное количество 500-долларовых лицензионных платежей я сам себе RTOS под Windows напишу, подумал я. И написал.
Применённые технические хитрости
- Во-первых, нам нужно, чтобы как можно больше работы выполняла наша плата с FPGA на борту. Скажем, передачу данных лучше перевесить на неё: у неё DMA-контроллер точно ничем не будет занят, нет шансов, что, когда нам потребуется DMA-канал, Винда скажет нам в ответ «в очередь, линуксьи дети, в очередь!» Как подключать FPGA к PCIe так, чтобы DMA писал данные, куда надо, это совсем-совсем отдельная тема, которая выходит за рамки данной статьи. Скажу только, что FPGA должен быть сконфигурирован как PCIe Endpoint, потому что компьютер остаётся Root Complex, — ему ведь ещё видеоадаптером управлять. При этом, раз DMA запускается платой, то и трансляция адресов должна выполняться на плате. И тут возникает вопрос: а куда плата будет писать? Изнутри Windows я могу работать только с виртуальными адресами. Даже если я выделю реальную память при помощи MmAllocateContiguousMemory, я получу только виртуальный адрес, достучаться до которого плата не сможет. Так что совсем без решений Франкенштейна обойтись не удалось. Я резервирую кусок физической памяти на компьютере для использования только нашим устройством, выполнив в командной строке от Администратора команду следующего вида: bcdedit /set removememory Х (Х — сколько мегабайт зарезервировать) Таким образом, последние мегабайты скрыты от Windows, и обращаться к ним Винда не может. Помимо гарантии отсутствия столкновений на memory bus, таким образом решается ещё несколько проблем, в частности, отсутствует нужда в синхронизации доступа, что лишает меня необходимости использовать долгие и медленные семафоры и мьютексы. (Синхронизацию между записью данных в память и чтением можно осуществлять по времени: пусть плата пишет в пять буферов с разницей в 200 микросекунд; зная, что в нулевой буфер она писала в целое число миллисекунд, я буду читать буферы с отставанием на один: в целую миллисекунду — четвёртый, в миллисекунду и 200 микросекунд — нулевой, в миллисекунду и четыреста микросекунд — первый, и так далее. Как синхронизировать время на уровне микросекунд между двумя устройствами — задача, при наличии канала связи между ними, решаемая).
- Драйвер, который будет читать данные из зарезервированной памяти, бежит строго на одном ядре. Для этого я меняю его привязку к процессору:
/* * The ID of the PCI driver CPU core. Starting from 0. */ static constexpr USHORT DRIVER_CPU_ID = 3; . . . . // Set the thread to run on specific processor KAFFINITY affinity = 1ULL
— и поднимаю его приоритет, но не до высшего, а до того, который чуть ниже. На самом высшем приоритете некоторые системные функции не работают, и критические системные задачи, которые бегут на таком же приоритете, не будут выполняться:
// Set the thread priority to the highest available -1 // Тhe «-1» is because running for a long time in HIGH_PRIORITY // «starves» important system tasks which run in HIGH_PRIORTY KeSetPriorityThread(PsGetCurrentThread(), HIGH_PRIORITY — 1);
KIRQL oldIrql; KeRaiseIrql(DISPATCH_LEVEL,
Однако процесс не может всё время бежать с запретом на любые прерывания, Винда за этим строго следит и может наглеца прибить. Поэтому периодически я понижаю приоритет прерываний, которым разрешаю свой процесс, гхм, прерывать. Чисто формально, но всё-таки:
// It’s important that we don’t stay at DISPATCH_LEVEL for too long // so we record the last tick we were at passive, and every once in // a while lower the KIRQL static constexpr ULONG64 MS_ALLOWED = 50; LARGE_INTEGER freq<>; LONGLONG lastPassiveTick = 0; . . . . . . KeQueryPerformanceCounter( timePassed = ((KeQueryPerformanceCounter(nullptr).QuadPart — lastPassiveTick) * 1000ULL) / freq.QuadPart; if (timePassed >= MS_ALLOWED) < yieldProcessor(); lastTickAtPassive = KeQueryPerformanceCounter(nullptr).QuadPart; >/* Yield Processor means lowering to PASSIVE_LEVEL and then raising back * to DISPATCH_LEVEL. It allows other important tasks to run in between, * if they are fast enough. */ void yieldProcessor()
- Но и это ещё не всё. Мало позаботиться о тех процессах, которые уже есть, надо ещё позаботиться о тех, которые пользователь создаcт в будущем. Для этого я регистрирую два системных коллбэка, на создание процесса и на создание потока; они вызываются для каждого нового процесса и потока, и я меняю их привязку к процессору:
/* * We want to keep this core to ourself, so register a callback for each * process and thread created. At this callback we change their affinity * (the core they can run on) to be different from our core */ if (!NT_SUCCESS(PsSetCreateProcessNotifyRoutine(newProcessCreated, FALSE))) < DEBUG_TRACE(«PsCreateProcessNotifyRoutine failed»); COMPLETE_IRP(Irp, STATUS_UNSUCCESSFUL); >FINALLY([ if (guardActivator) < PsSetCreateProcessNotifyRoutine(newProcessCreated, TRUE); >>); if (!NT_SUCCESS(PsSetCreateThreadNotifyRoutine(newThreadCreated))) < DEBUG_TRACE(«PsCreateProcessNotifyRoutine failed»); COMPLETE_IRP(Irp, STATUS_UNSUCCESSFUL); >FINALLY([ if (guardActivator) < PsRemoveCreateThreadNotifyRoutine(newThreadCreated); >>); . . . . . . void newProcessCreated( HANDLE ParentId, HANDLE ProcessId, BOOLEAN Create ) < UNREFERENCED_PARAMETER(ParentId); if (Create) < KAFFINITY affinity = ~((1ULL ; InitializeObjectAttributes( CLIENT_ID clientid< 0 >; clientid.UniqueProcess = ProcessId; auto status = ZwOpenProcess(objectAttributes, if (!NT_SUCCESS(status)) < DEBUG_TRACE(«ZwOpenProcess failed getting process for pid %d with status %d», ProcessId, status); return; >FINALLY([ ZwClose(processHandle); >); // Set the process affinity by handle DEBUG_TRACE(«Will set process affinity: %d for process: %d», affinity, ProcessId); if (affinity) < status = ZwSetInformationProcess(processHandle, ProcessAffinityMask, if (!NT_SUCCESS(status)) < DEBUG_TRACE(«ZwSetInformationProcess failed getting process affinity for pid %d with status %d», ProcessId, status); return; >> > > void newThreadCreated( HANDLE ProcessId, HANDLE ThreadId, BOOLEAN Create ) < if (Create) < // Thread affinity should eventually be all cpus except our own. KAFFINITY affinity = ~((1ULL ; InitializeObjectAttributes( CLIENT_ID clientid< 0 >; clientid.UniqueProcess = ProcessId; auto status = ZwOpenProcess(objectAttributes, if (!NT_SUCCESS(status)) < DEBUG_TRACE(«ZwOpenProcess failed getting process for pid %d with status %d», ProcessId, status); return; >FINALLY([ ZwClose(processHandle); >); // Get the process affinity by handle PROCESS_BASIC_INFORMATION processInformation; ULONG returnLength; status = ZwQueryInformationProcess(processHandle, ProcessBasicInformation, returnLength); if (!NT_SUCCESS(status)) < DEBUG_TRACE(«ZwQueryInformationProcess failed getting process for pid %d with status %d», ProcessId, status); return; >// Reduce affinity to by subset of process affinity // Get thread handle by id HANDLE threadHandle; objectAttributes = < 0 >; InitializeObjectAttributes( clientid = < 0 >; clientid.UniqueThread = ThreadId; status = ZwOpenThread(objectAttributes, if (!NT_SUCCESS(status)) < DEBUG_TRACE(«ZwOpenThread failed getting thread for tid %d with status %d», ProcessId, status); return; >FINALLY([ ZwClose(threadHandle); >); // Set the thread affinity by handle DEBUG_TRACE(«Will set thread affinity: %d for thread: %d», affinity, ThreadId); if (affinity) < status = ZwSetInformationThread(threadHandle, ThreadAffinityMask, if (!NT_SUCCESS(status)) < DEBUG_TRACE(«ZwSetInformationThread failed getting thread affinity for tid %d with status %d», ProcessId, status); return; >> > >
Заключение
По факту, я реализовал систему, работающую в реальном времени, внутри Windows. Техника, в общем-то, такая же, как у коммерческих решений типа вышеупомянутой On Time: я забираю под свои цели ядро и часть памяти и не позволяю Windows добираться до них и мешать мне. Но есть и отличие: моё решение работает внутри Windows, в пространстве ядра, и позволяет пользоваться всеми преимуществами операционной системы. Я не ограничен в общении с остальными программами операционной системы и могу использовать весь набор средств для межпроцессного взаимодействия. Более того, я могу вернуть занятое драйвером ядро обратно Windows в любой момент, достаточно только убрать мои коллбэки и пройтись по процессам, исправляя их привязки.
Время обработки одного пакета данных при таких условиях не превышает 155 микросекунд, включая добавление заголовков к каждому пакету данных. Затем данные передаются из зарезервированной памяти в программу обработки, которая уже заботится о передаче данных в GPU, занимается показом всего этого богатства на экране и сохранением на жёсткий диск. Время передачи данных из платы в память компьютера здесь не учитывается, потому что я начинаю работать только после того, как данные окажутся в памяти.
- realtime
- реальное время
- windows 10
- программирование
- разработка приложений
- разработка по
- разработка программного обеспечения
- Программирование
- C++
- Разработка под Windows
Источник: habr.com
Создаем ландшафт с Realtime Landscaping Architect
Каждый архитектор знает, как сложно бывает работать над очередным проектом. Особенно это утомляет, если попадается дотошный и придирчивый заказчик. Заниматься подобной работой хотя бы с минимальным помощником на ПК позволяют себе профессионалы, что уже тут говорить о более неопытных людях. Долгое время RealTime Landscaping Architect держит высокую планку в области ландшафтного дизайна. Огромный набор инструментов удовлетворит любого заказчика, а вам доставит массу удовольствия.
Ниже мы рассмотрим важные особенности утилиты, ознакомимся с основными функциями и принципом работы RealTime Landscaping Architector.
Возможности
В этой замечательной программе можно встретить более 5000 шаблонов для планировки. Работая в ручном режиме, вы можете добавить в проект такие элементы, как скамейки, аккуратные газоны, цветы для сада, фонтаны и бассейны. Также, можно познакомиться с:
- полезным графическим редактором;
- наборами эффектов для различных климатических областей;
- встроенным приложением для добавления объектов в проект.
Выполнив все необходимые процессы, на выходе вы получаете красочную работу, которую в будущем можно залить на хостинги или поделиться с друзьями. Заказчик может предварительно ознакомится с проектом, а вы прямо на месте приступить к редактированию.
Вы можете создать, как 2D, так и 3D ландшафты. Вы можете подумать, что построение проектов производится в виде сверху, с газонами и цветами. На самом деле, вы занимаетесь полным развертыванием, создаете вручную дворы, сады, бассейны и заборы. Немного времени, и на выходе получается полноценная презентация или видеоролик.
В вашем распоряжении все необходимые инструменты, причем работать с ними удобно и комфортно. Чтобы быть точным, внутри сборника RealTime Landscaping Architect вас ожидают 20 000 различных объектов и 28 000 цветов.
Обратите внимание на скриншоты. Все это вы можете выполнять в главном окне программы. Презентация получается реалистичная, и состоит она не просто из картинок. Все элементы будут крутиться и двигаться, чтобы донести заказчику сполна свою работу. Многие архитекторы сдают свои проекты в 2D, чем зачастую не удовлетворяют работодателей.
Данная программа позволяет создавать целые ролики и удивлять заказчиков, что положительно отражается на карьерной лестнице.
проектирования ландшафта в 2D и 3D — Realtime Landscaping Architect
Описание: RealTime Architect
Realtime Landscaping Architect 2020 v.18.03 +Models [En]- программный пакет для профессионального проектирования ландшафта в 2D и 3D. Предоставляет возможность создания дендраплана, рельефов, трехмерного изображения объектов, а также эффект реального путешествия по территории. Вы создадите дендроплан, вида участка с высоты птичьего полета, 3D-изображения участка с возможностью передвижения по территории, создание видеопрогулки. Версия содержит около 200 объектов в Ультра разрешении, 16,400 объектов, 6,900 эксклюзивных планировок и 3,100 атрибутов дизайна. На сайте программы имеется внушительная фотогалерея готовых проектов и скриншотов программы, а также просмотр небольших видеороликов дизайнерских работ,созданных при помощи RealTime Architect.
Дополнительная информация:
Производительность улучшена до 2х Улучшенный реализм Новый инструмент для управления землей Новые и улучшенные дополнительные 3d-объекты Новая 3d-трава Поддержка Oculus-rift Улучшения реализма воды Новые уличные кухни Улучшения для фонтанов, водопадов и ручьев Новые 3d-камни Новые рендеры неба Новые аксессуары к бассейну Новые опции для режима прогулок в реальном времени Прозрачные стенки бассейна и настраиваемая вода Новые возможности при создании видео
В папке Models находятся дополнительные 3D модели.
Установка программы:
1. Установить базовую версию запустив install.exe из каталога Setup. После установки базовой версии не запускать программу. 2. Установить пакет обновления до версии 18.03 путем запуска update_arch1803.exe из корневого каталога. После установки обновления не запускать программу.
Процедура лечения:
После установки программы файлы Realtime Landscaping Architect.exe и Realtime Landscaping Photo.exe из каталога Fix_1803 скопировать с заменой в директорию с установленной программой.
Установка дополнительных 3D моделей:
Дополнительные пакеты 3D моделей находятся в каталоге Models. Каждый пакет включает в себя каталог с 3D моделями (файлы формата *.ism) и каталог с их текстурами (файлы форматов графических файлов). Для корректной установки дополнительных пакетов 3D моделей необходимо: 1. Поместить каталог с 3D моделями в Мои документыRealtime Landscaping Architect вашей версииCustom Dataaccessory 2. Поместить каталог с текстурами в Мои документыRealtime Landscaping ArchitectCustom Dataaccessorytexture Перед установкой дополнительных пакетов 3D моделей рекомендуется ознакомится с инструкцией установки каждого пакета которая находится в каждом каталоге, т.к. некоторые модели взаимосвязаны и для корректной работы имеют определенную очередность установки.
51_27_0_1.27_0
Скачать с вшитым ключом
Чтобы заполучить программу с официального сайта, вам пришлось бы раскошелиться на 400 долларов. Понятно, что не каждый готов заплатить такие деньги, поэтому у вас появилась отличная возможность получить ломаную версию на нашем сайте. Инструкция по установке и активации выглядит так:
- Копируем патч по умолчанию на диск C, в Program Files > RealTime Landscaping Architect.
- Запускаем от имени администратора.
- Нажимаем на «ПАТЧ».
- Через некоторое время получаем доступ к программе, не заплатив за это ни цента.
Касательно активации, ключик был вшит в установочный файл, а значит, от вас не требуется никаких действий. Запускаем программу и пользуемся лицензионной сборкой.
Видео-уроки » Realtime Landscaping Architect 2020 (Реалтайм ландскейпинг архитект 2020)
17 мая 2020
Realtime Landscaping Architect 2020 (Реалтайм ландскейпинг архитект 2020)
Небольшой обзор по нововведениям ландшафтной программы Realtime landscaping architect 2020. Отличия данного релиза от предыдущих версий ландшафтной программы.
Вот и вышла версия Realtime landscaping architect 2020. Производители обещали выпустить программу весной, и они это сделали.
Realtime Landscaping Architect 2020
Скачал для теста пробную версию программы, поэтому по базам сказать пока ничего не могу, но мне кажется, что особых изменений нет, как собственно и изменений во внешнем виде и настройках т.к. производители программного обеспечения сделали упор на программную часть и исправление так называемых багов, ошибок.
Пробежался по инструментам и настройкам программы, действительно все осталось как в версии 2020 года. По настройкам самих инструментов, на мой взгляд, тоже ничего не изменилось, кроме как в водных объектах трубам и спринклерам можно теперь задавать название продукта.
Открываем вкладку Water Features и добавляем Sprinkler Line (Спринклерная труба) и Splinker Head (сам спринклер, распылитель).
Сплинклер в Realtime Landscaping Architect 2020. Flokus.ru — ландшафтный дизайн
В правом меню у обоих этих инструментов появился параметр Product, в который можно вписать название продукта. Это название отобразится и в ведомости проекта (Tools->Project Materials List)
Ведомость проекта в Realtime Landscaping Architect 2020. Flokus.ru — ландшафтный дизайн
Если вы найдете другие изменения, как по настройкам, так и по базам, то прошу написать их в комментариях в наших группах или на канале.
Что касается основных изменений, как заявляют создатели программы, увеличена производительность программы на 30%. Да и сама программа теперь работает в 64 битном режиме, что позволяет использовать ресурсы компьютера гораздо продуктивнее. Скорее всего, будет проще работать с крупными проектами и файлами, т.к. более оптимально будет использоваться оперативная память.
Но прекратилась поддержка 32битных систем и windows Vista. Т.е. для работы в Realtime landscaping architect 2020 нужны 64 битные системы Windows 7 и выше.
Файлы видео теперь можно сохранять более 4 гигабайт. Это позволяет создавать длинные видеоролики в большом разрешении (хотя программа по-прежнему может делать разрешение не выше 2000, т.е. грубо говоря — fullHD).
Обновлены параметры импорта внешних файлов. Например, теперь поддерживаются импортируемые файлы из SketchUp 2020.
Также обновлен мастер импорта CAD файлов. Теперь поддерживаются DWG и DXF в формате AutoCAD 2020.
Есть небольшие недочеты по интерфейсу, но это — придирки. Например, у меня в настройках окружения лишние стрелки прокрутки появляются в уголке, т.к. не уместились названия вкладок в ширину данного выпадающего окошка.
Недочет интерфейса окна Realtime Landscaping Architect2020
В Realtime landscaping architect 2020 исправлены не частые ошибки, которые могли возникать. Например, когда не отображались тени во время режима прогулки или выпадала ошибка при открытии самого режима прогулки. Также исправлен редкий случай, когда при включении сетки появлялись случайные линии. И другие программные недочеты.
Скачать Realtime Landscaping Architect 2020 можно на официальном сайте производителя.
Теги: Realtime Landscaping Architect, урок
Войти на сайт
Realtime Landscaping Architect воплотит все ваши мечты относительно ландшафтного дизайна участка в реальность! В программе используются новые 3D технологии, которые позволяют даже неопытному пользователю ПК создать необычный проект ландшафта.
Новые возможности RealTime Architect 2020: • Производительность улучшена до 2х • Улучшенный реализм • Новый инструмент для управления землей • Новые и улучшенные дополнительные 3d-объекты • Новая 3d-трава • Поддержка Oculus-rift • Улучшения реализма воды • Новые уличные кухни • Улучшения для фонтанов, водопадов и ручьев • Новые 3d-камни • Новые рендеры неба • Новые аксессуары к бассейну • Новые опции для режима прогулок в реальном времени • Прозрачные стенки бассейна и настраиваемая вода • Новые возможности при создании видео Преимущества Realtime Landscaping Architect: • С данным софтом возможно не только творить, но и воплощать в реальность практически каждую идею. Подключайте в работу собственную фантазию и проектируйте дачную территорию, ее двор, сад, ограждения вокруг дачи, водоемы и зоны отдыха. • Помимо построек и объектов строительства, вы можете добавить в ландшафтный дизайн территории растения – деревья, кустарники, цветы и даже живые изгороди. Сделать это можно в течении нескольких секунд, просто найдя необходимые фигуры в библиотеке программы Realtime Landscaping Architect. • Расставляйте метки в проекте, помечайте территории, делайте сноски и проставляйте размеры, все это возможно благодаря серьезному инструментарию софта для профессионалов. • Вы можете масштабировать территорию, приближать и отдалять проект, оценивать его с фасадной части, сверху и сбоку, чтобы найти минимальные ошибки и сразу устранить их. • Пользователь легко может переключиться между режимами 2D и 3D, чтобы максимально качественно спроектировать ландшафт дачной территории. Кроме того, вы всегда можете устроить виртуальную прогулку по готовому проекту, чтобы увидеть ошибки с близка, подкорректировать размеры или расстановку, показать готовый дизайн дачной территории родственникам и друзьям. • Удобно работать и с готовыми изображениями, а не проектами «с нуля». Вы можете импортировать графические изображения любого формата, ретушировать их, менять, полностью корректировать, подстраивать под себя. • Всегда есть возможность посмотреть не только холодный рисунок в электронном виде, но и оживить картинку – включить тени растений, декоративное освещение, текущую воду и так далее.
Установка: 1. Установить install.exe из папки Setup 2. Запустить патч RLA-2016_Activation.exe, по запросу пароля нужно ввести пароль (password: countryboy) Системные требования: Процессор: 1 GHz CPU (1.6 GHz и больше); Память: 512 MB; Видео: видеокарты NVidia GeForce 5200 FX, ATI Radeon 9250 и выше. Информация о Софте Название: Realtime Landscaping Architect 2020 Категория: Графика, дизайн Разработчик: Idea Spectrum Год выпуска: 2020 О файле: Активация|рег код: в комплекте Язык Интерфейса: English Формат файла: zip Платформа/ОС: Windows Vista|7|8|8.1|10 Размер файла: 3,36 GB
Подписка на новости сайта… / Preview Subscription Link…
Источник: inodroid.ru
7 примеров успешного Real-time маркетинга
Маркетинг реального времени, или real-time маркетинг, заключается в своевременной реакции на события.
Маркетинг реального времени позволяет создать короткие рекламные кампании, которые работают в течение короткого времени, например, пока длится какое-то событие или праздник. Чаще всего используются социальные сети. Конечно, результаты такой рекламы будут недолговечными по сравнению с длительной продуманной кампанией. Она быстро выстреливает и быстро забывается.
Но вызывая сиюминутный спрос на продукт, реклама закрепляет в сознании людей отношение к нему как к чему-то яркому, веселому – в зависимости от контекста. И, соответственно, имеет свой коэффициент эффективности.
Опасно, если идея будет ломать представление о бренде. Реклама Oreo вписалась в имидж, поэтому и была столь успешной. Неудачная реклама даст обратный результат.
Вывод: Реклама должна быть релевантной бренду.
Когда этот прием сработал, появилось целое направление подражаний. Клиент все быстрее и быстрее привыкает к новинкам. Real-time реклама стала обыденностью, а потребители — придирчивыми знатоками. Во время следующего чемпионата множество компаний пытались повторить успех Oreo, но почти ни у кого не получилось. Бывали и совсем абсурдные случаи.
Компания American Apparel предложили скидку 20% на все в течение 36 часов пострадавшим от урагана Сэнди. Это выглядело легкомысленно и эгоистично по отношению к людям, которые понесли потери.
Пример 1. Диетическая Пепси
К неделе моды 2011 года Пепси выпустили новую диетическую газировку, которая была названа «Стройная банка» (skinny can). Вместо рекламы продукт интегрировали в событие. Был нанят журналист, освещающий неделю моды. В соцсетях Пепси публиковала интересные факты и комментарии. Позиция бренда: «Получите стройность» на неделе моды.
Пример 2. Акция Pizza Hut на портале Foursquare во время чемпионата Super Bowl
Люди, разблокировавшие значок «Super Swarm Sunday» на портале Foursquare, становились участниками акции «Потратьте 10$, верните 5$», если покупали пиццу и расплачивались картой American Express. К шести часам вечера 175365 человек зарегистрировались (число росло на 1000 в минуту). К тому времени, когда действие акции закончилось, зарегистрировалось 303445 человек.
Пример 3. Канал Oxigen с проектом OxigenLive
С более чем 2 миллионами просмотров эпизод «Клуб плохих девченок» является лучшим шоу Сети Oxigen. В соцсетях был запущен проект OxigenLive — общение зрителей со звездами шоу. Рейтинг был выше на 92% по сравнению с предыдущим сезоном на Востоке. На Западе, где «OxygenLive» не передавал, рейтинг повысился только на 14%.
Пример 4. Программа Foursquare SoLoMo Walgreen
Новое исследование от The Social Habit показало, что потребители, обращаясь к компаниям на социальных каналах, ожидают ответа в течение 60 минут. Поэтому программа SoLoMo Walgreen (социальный, местный, мобильный) от Foursquare работает для покупателей, когда они находятся уже в магазине. Потребители, которые регистрируются в Walgreens на Foursquare, немедленно получают купон для специального предложения. Более того, купон может быть просмотрен непосредственно с телефона.
Пример 5. Крипсы Pretzel с программой «Social Sampling»
Эта программа в реальном времени контролирует разговоры Твиттера, чтобы искать клиентов, которые нуждаются в закуске. PretzelCrisps предлагают поставлять образец бесплатного продукта, что поощряет получателей вести разговоры о бренде. Крипсы собрали более чем 4.2 миллиона сообщений, начиная с запуска программы в июле 2010, поставили приблизительно 3600 бесплатных пачек чипсов. Продажи увеличились на 87 процентов по сравнению с годом до запуска программы.
Человек, управляющий #ChicagoCabbie, доказывает, что нет необходимости быть крутым брендом, чтобы получить преимущества от real-time маркетинга. Аккаунт в Твиттере принадлежит таксисту Рашиду Темури, который получает 90-95% повторных вызовов через каналы соцсетей, прежде всего Твиттера. Клиенты могут следить за его местоположением, найти его на Google Latitude или на «Find My Friends». Когда им нужно такси, они знают, рядом ли он и могут написать в Твиттере, чтобы его вызвать. Премия: бесплатный Wi-Fi в его такси!
Пример 7. EuroControl — наблюдение за европейской безопасностью полетов
Во время исландского извержения вулкана в 2010, которое нарушило все полеты в регионе, их домашняя страница показала обновленные карты движения вулканического пепла, объяснив последствия. Они обновили свою страницу Facebook, аккаунт в Твиттере и соответствующие группы LinkedIn с полезной информацией для путешественников. Они последовательно использовали хэштеги в Твиттер #euva и #ashtag, чтобы сообщить клиентам о безопасных полетах. Под этими хэштегами сами клиенты начали делиться историями и подсказками.
Возвращаемся к реальности
Насколько возможно осуществление real-time маркетинга и насколько это затратно? Как видно из примеров, очень даже осуществимо. Однако следует помнить, что круглосуточное наблюдение за теми же социальными сетями требует наличия в штате дополнительных людей. Например, в компании Applebee есть 7000 сотрудников в 1000 мест, которые общаются в соцсетях. Dell и Gatorade оборудовали обширные центры для реализации технологии получения и анализа данных, чтобы изучать отношение к бренду.
Но все стратегии в реальном времени, большие или маленькие, начинаются с изучения и анализа — прежде, чем что-то сказать, написать или сделать. Измерение разговоров и чувств клиентов является первым шагом в определении развития программ маркетинга. Люди, которые им занимаются, должны быть командой, способной к работе 24/7. Самое главное, они должны быть уполномочены принимать решения в изменчивой окружающей среде, свободными от резкой критики за их действия.
____________________ __________ __________ __________ __________ __________
Материал создан агентством контент-маркетинга Текстотека.
Хотите самостоятельно внедрить контент-маркетинг в свой бизнес? Подписывайтесь на наше сообщество ВКонтакте, там много бесплатного обучающего материала.
Источник: spark.ru