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

Перевод записи:

Категория: Технологии | Просмотров: 1587 | Добавил: Heritor | Дата: 27 Июль 2011 | Комментарии (0)

Многие игроки в EVE знают, что наша игра написана на языке программирования Python – если быть точнее, Stackless Python. Stackless ― это усовершенствованная версия интерпретатора, позволяющая пользоваться многими преимуществами многопоточного программирования. Но, тем не менее, «питон» остается «питоном», и нам приходится иметь дело с глобальной блокировкой интерпретатора (Global Interpreter Lock, также известной как «этот чертов GIL» или просто GIL).

GIL ограничивает доступ к интерпретатору (и всем соответствующим данным): в каждый конкретный момент времени обрабатывается лишь один поток. Поэтому хотя Stackless Python и обладает многими признаками «многопоточного» языка (такими как разделение задач, каналы, планировщики, совместная память, и т.д.), написанная на нем программа все равно способна обрабатывать лишь одну задачу за раз. Это похоже то, как работали некоторые многозадачные операционные системы в прошлом ― и такая схема позволяет гарантировать, что исполнение каждого потока не будет прервано в какой-то момент времени (за исключением тех случаев, когда поток нарушает принципы проблемы остановки). Это также позволяет нам исходить из многих предпосылок о глобальном состоянии игры при написании кода, что было бы невозможно, если бы мы использовали асинхронную логику и функции обратного вызова. По сути дела, большая часть логических блоков в коде нашей игры следуют принципам процедурной синхронной модели, что позволяет быстро и безболезненно вносить изменения в код.

Проблема заключается в том, что часть «фреймворка» в EVE Online написана на Python, и поэтому нам приходится использовать GIL. Это ограничение распространяется и на написанные на языке C модули, которым необходимо получать данные от интерпретатора Python.

Категория: Технологии | Просмотров: 26046 | Добавил: Heritor | Дата: 20 Июнь 2011

Это перепечатка оригинальной статьи, расположенной на сайте EVE Online. Адрес оригиналаwww.eveonline.com/ru/incarna/article/2004/очередная-171-инкарнация-187-api

Всем привет!

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

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

MarketOrders– переменная orderID теперь имеет размер 64 бита (вместо 32 бит), typeID ― 32 бита.

WalletTransactions– переменная transactionID теперь имеет размер 64 бита. Это относится к страницам char/ и corp/, .csv и .xml.

Категория: Технологии | Просмотров: 1261 | Добавил: Heritor | Дата: 17 Июнь 2011 | Комментарии (0)

Команда Gridlock продолжает усердно бороться с лагом в больших битвах и оптимизировать устаревший код игры. В конце апреля мы активировали на сервере Tranquility ряд мер, направленных на повышение быстродействия; несколько недель мы измеряли результаты, и, наконец, настала пора рассказать о них. Первыми о них услышал Совет игроков в ходе недавнего визита, а теперь о них узнаете и вы. Так что внимание, вас ждут графики и технический жаргон.

Для начала график (все любят графики!):

На нем показано, сколько ресурсов процессора используется при обработке действий одного пользователя (в просторечии «CPU-на-игрока»); это среднее значение по всем серверам Tranquility за восемь недель. Хотя мы не используем в данном случае какие-то определенные единицы измерения, это сравнение вполне корректно, если конфигурация самих серверов остается неизменной. Чем ниже эта величина, тем лучше. Красным цветом отмечены линии тренда до и после изменений; синим ― даты, когда эти изменения были активированы на сервере. Подписи под линиями ― это названия флагов, которые мы использовали в коде (эта статья основана на отчете, написанном мной для коллег, поэтому я постараюсь придерживаться аналогичной терминологии).

Каждый флаг активирует определенный участок оптимизированного кода без необходимости устанавливать дополнительный патч на Tranquility. Это также позволяет нам «включать» флаги лишь на определенных серверах и следить за возникновением нежелательных последствий до их активации во всей игре.

Категория: Технологии | Просмотров: 1406 | Добавил: Heritor | Дата: 16 Июнь 2011 | Комментарии (0)

В комментариях к моей предыдущей статье «Incarna: будущее прекрасно» некоторые из вас выражали опасения по поводу снижения быстродействия игры после выхода нового обновления. Это ― действительно важный момент; ведь сейчас минимальным системным требованиям для игры в EVE Online соответствуют даже довольно старые компьютеры.

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

Но перед нами стоит проблема, с которой сталкиваются далеко не все разработчики игр. Наши игроки настолько любят EVE, что игры «в одно окно» им недостаточно ― они запускают параллельно два игровых клиента (а то и больше)! На компьютерах, удовлетворяющих лишь минимальным системным требованиям обновления Incarna, игра работает не очень хорошо ― но лишь при запуске нескольких клиентов сразу.

Категория: Технологии | Просмотров: 976 | Добавил: Heritor | Дата: 14 Июнь 2011 | Комментарии (0)

CCP Zulu
08.10.2010

Кратко: видеокарты с поддержкой ShaderModel 3.0 станут минимальным требованием для запуска игры после пока-ещё-не-анонсированного-события во втором квартале 2011 года.

Немного подробнее

Вы, вероятно, должны помнить, как, около полутора лет назад, мы решили прекратить поддержку старых видеокарт, установив в качестве минимальных системных требований карты с шейдерной моделью второй версии. За это время мы, как и обещали, двигались вперёд, чтобы не отставать от тенденций развития оборудования. И мы находимся на пути, согласно которому скоро придёт время сделать видеокарты с поддержкой ShaderModel 3.0 минимальным требованием для запуска игры, и это время наступит в первой половине следующего года.

Почему мы это делаем?

Читать дальше>>

Категория: Технологии | Просмотров: 1773 | Добавил: Heritor | Дата: 09 Октябрь 2010 | Комментарии (0)

Пилоты Нового Эдема,

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

Мы называем это "долгая борьба с лагами" потому, что не одно событие влияет на то, появляется ли, или исчезает лаг. Это постоянное медленное сражение, когда против нас встаёт максимально возможное количество противников. Вы наверное помните некоторые из наших более специализированных инициатив, например – "Need For Speed", стартовавшая в 2006 году. Для CCP она стала с этого момента приоритетной, и мы начали применять целостный подход к постоянно растущей популяции игроков и неожиданным моделям их поведения. За долгую историю существования EVE мы постоянно двигаемся к обетованной стране минимизации лагов, иногда – маленькими шажочками, иногда – огромными скачками, такими как StacklessIO и EVE64.

Читать дальше>>

Категория: Технологии | Просмотров: 848 | Добавил: Heritor | Дата: 14 Август 2010 | Комментарии (0)

CCP Explorer
24.09.2009

После выхода EVE Online: Dominion этой зимой, одним из минимальных требований для запуска клиента игры станет Windows XP Service Pack 2. С этого же момента начнётся официальная поддержка Windows 7.

История EVE – это история улучшений, дополнений, усовершенствования оборудования и внедрения новых технологий, совершенствование ПО, как клиентской, так и серверной сторон. Для того, чтобы написать этот девблог, я просмотрел все девблоги, затрагивающие техническую сторону EVE Online начиная с 2007 года. И вот что я получил:

Читать дальше>>

Категория: Технологии | Просмотров: 1651 | Добавил: Heritor | Дата: 24 Сентябрь 2009 | Комментарии (0)

CCP GingerDude
11.09.2009

Привет, класс

Меня зовут CCP GingerDude и меня обязали научать вас всех о новых изменениях, которые я сделал на нашем имитационном движке Destiny, так как это имеет отношение к давней и неуловимой проблеме, известной как "десинк" (или десинхронизация).

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

Так, чё такое Destiny?

Destiny, как уже было указано выше, – имитационный движок EVE. Если задаться вопросом о его назначении, то это кусок кода, который даёт возможность вашему кораблю двигаться, поворачиваться, сталкиваться, совершать варп-прыжки и маскироваться. Хотя, это не всё что он делает. Короче говоря, он поддерживает состояние всех кораблей и объектов в космосе. Он запущен как на сервере, так и на каждом клиенте, а основная идея состоит в том, что, при любом развитии событий, на стороне клиента любого игрока всё должно происходить точно так же, как и на стороне сервера. Принимая во внимание детерминированную природу компьютеров, получается, что один и тот же код, с одними и теми же данными, должен приводить к одним и тем же результатам. Единственное различие между клиентской и серверной стороной состоит в том, что сервер обрабатывает каждый сценарий с объектами в нём для данной системы, тогда как клиентская часть обрабатывает только те объекты, которые он видит и которые относятся с той сцене, в которой игрок находится. Другими словами, клиент имеет дело только с частью того, с чем взаимодействует сервер.

Читать дальше>>

Категория: Технологии | Просмотров: 1735 | Добавил: Heritor | Дата: 11 Сентябрь 2009 | Комментарии (0)

CCP Elerhino
27.03.2009

Как часть расширения Apocrypha, мы добавили в API то, что мы называем Skill Queue. Информация о навыках в очереди доступна при посылке запроса на "/char/skillqueue.xml.aspx", который возвращает список навыков в очереди, сопровождаемых временем когда они начнут тренироваться и когда закончат. Время кеширования - такое же, как и при запросе SkillInTraining, и, фактически, SkillInTraining в данный момент использует информацию из очереди навыков. Этот запрос скоро будет удалён вообще, так как разработчики утилит, использующих EVE API, легко могут получить такую информацию из SkillQueue. Значение typeID в запросе SkillQueue - ID навыка, список которых можно получить, используя запрос SkillTree.

Читать дальше>>

Категория: Технологии | Просмотров: 1126 | Добавил: Heritor | Дата: 27 Март 2009 | Комментарии (0)

1 2 »
»Рубрики«
Механика [13]
Изменения в механике игры
Контент [3]
Миссии, предыстория и пр.
Графика [5]
Визуальные эффекты и графика
Технологии [14]
Системные требования, API, технологии
Web-технологии [4]
Официальный сайт, сервисы
Экономика [4]
Внутриигровая экономика, QEN
Прочее [9]
Материалы общего характера
»Поиск«
»Календарь«
«  Ноябрь 2017  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
27282930
»Ссылки«
»О сайте«

SKOLI.ru — русский фан сайт игры EVE Online. Статьи и новости с официального сайта eve-online о мире Нового Эдема, гайды, переводы хроник EVE, скриншоты и обои, амбиентная музыка из игры, видео.

»Статистика«

© 2008-2017 SKOLI.RU
Обязательна ссылка на источник, если вы используете материалы, расположенные на данном сайте.
COPYRIGHT NOTICE
EVE Online, the EVE logo, EVE and all associated logos and designs are the intellectual property of CCP hf. All artwork, screenshots, characters, vehicles, storylines, world facts or other recognizable features of the intellectual property relating to these trademarks are likewise the intellectual property of CCP hf. EVE Online and the EVE logo are the registered trademarks of CCP hf. All rights are reserved worldwide. All other trademarks are the property of their respective owners. CCP hf. is not in any way affiliated with, Skoli.ru. CCP is in no way responsible for the content on or functioning of this website, nor can it be liable for any damage arising from the use of this website.