| Авторы: Kavita Chodavarapu @CKnew234 и Chris Gagnon |
|---|
В марте мы поделились планами по развитию двух аспектов, которые напрямую влияют на разработку в UEFN — стабильности и времени итерации. Для повышения стабильности мы расширили функционал тестирования островов, создаваемых разработчиками. Кроме того, наша команда улучшила покрытие регрессионного тестирования и начала работать с критическими ошибками на ранних этапах цикла выпуска новых версий. Чтобы ускорить итерации, мы сократили время, необходимое для внесения изменений в сеанс в реальном времени. Мы также стремимся регулярно публиковать новости об обновлениях, в том числе информацию об улучшениях и о предстоящих задачах. Вот последние новости. |
| Достигнутые результаты Время итерации В предыдущем посте мы обещали сократить время итераций и уже добились значительного прогресса, сократив время отправки изменений в среднем на 40%. Для крупных проектов этот показатель ещё выше — до 70%. Такое ускорение стало возможным благодаря ряду улучшений, сокращающих время отправки: * пошаговая конвертация: теперь конвертер в формат платформы определяет и обрабатывает не весь проект, а только те ресурсы, которые изменились с момента последней отправки; * Zen DDC: новая инфраструктура кэша производных данных, которая сокращает время получения и проверки ресурсов, оптимизированных под целевую платформу, и тем самым ускоряет цикл воспроизведения на клиенте; * дополнительные улучшения конвейера конвертации, загрузки и скачивания: более высокая скорость передачи файлов, сокращение времени ожидания в очереди, улучшенная проверка ресурсов и оптимизация компиляции Verse; * прочее: время загрузки на сервере и клиенте, параллельное выполнение подготовительных шагов и проверки, а также множество других улучшений в процессе итерации. |
| Мы также значительно улучшили систему редактирования по сети: * её функции теперь доступны в запущенной игре; * разработчики могут приостановить игру, отвязаться от пешки и исследовать состояние игры для отладки. * расширена поддержка видеорядов и аудиошин. * изменён интерфейс для просмотра списка изменений, происходящих в реальном времени или требующих отправки, улучшен интерфейс для итерации и исправлено множество ошибок текущих функций редактирования по сети. Мы не будем останавливаться на текущих результатах: мы по-прежнему будем работать над редактированием по сети, чтобы улучшить процесс итерации. Наша команда трудится над распределённой компиляцией шейдеров, и в этом году мы планируем ряд других улучшений, которые ещё больше сократят время итерации. Стабильность Начиная с версии 39.50, мы значительно сократили количество регрессий высокого уровня критичности. Было расширено тестирование островов, созданных разработчиками, ужесточён процесс регрессивного тестирования для обнаружения критических проблем на ранних этапах и усовершенствован анализ причин. В результате мы добились значительных улучшений в версиях 40.00 и 41.00, измерив стабильность по двум ключевым показателям: анализу пропущенных дефектов и количеству серьёзных дефектов, вышедших в релиз. |
| Таким образом, нам удалось чаще выявлять самые критические регрессивные ошибки до выпуска. В версии 41.00 мы обновили инструменты проверки работоспособности ресурсов и пространственного профилировщика, чтобы предоставить вам больше информации о проблемах до того, как они приведут к сбоям. Мы продолжаем работать над дальнейшим улучшением этих инструментов в будущих выпусках. Текущие задачи Нам удалось улучшить стабильность по наиболее важным показателям, но некоторые области, в частности, Scene Graph, присоединение к уже начатой игре, пользовательский интерфейс/UMG, проверка и публикация, а также подбор игроков всё ещё требуют доработки. Многие из регрессивных ошибок в этих областях связаны с взаимодействием между несколькими системами. Кроме того, проблемы возникают из-за изменений, внесённых неделями или месяцами ранее, или проявляются только во время масштабного тестирования разработчиками на поздних этапах цикла выпуска. |
| Приоритетные направления: * расширение автоматизированного тестирования процессов Scene Graph и присоединения к уже начатой игре; * увеличение масштабов тестирования разработчиками на ранних этапах циклов выпуска; * ужесточение критериев по проверке версии, если она включает изменения с высоким риском; * публикация информации об известных ошибках и планируемых исправлениях. Мы стараемся публиковать списки известных проблем перед выходом новых версий, чтобы предоставить разработчикам информацию о подтверждённых регрессиях и планируемых исправлениях как можно раньше. Планы на будущее Наша команда продолжит открыто говорить о существующих проблемах — разработчики должны знать о сложностях с инструментами. Мы будем и дальше улучшать обнаружение критических регрессивных ошибок, повышать прозрачность коммуникации и делиться фактическими данными о проделанной работе. Спасибо, что продолжаете творить в UEFN. Мы благодарны за отзывы, отчёты об ошибках и участие в опросах о стабильности, которые помогают формировать наши приоритеты. |
