Здравствуйте, гость ( Вход | Регистрация )

> Компиляция или не надо, Надо ли компилить ядро каждый раз как сделал изменения в Script
Chicos
сообщение 24.11.2017, 5:53
Сообщение #1


**

Neophyte
Сообщений: 21
Регистрация: 20.6.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 6.565



В руководстве по сборке компиляции сказано что надо добавить папку Server в проект и скомпилить ядро. От предшественика мне уже досталось готовое ядро. Почему то подумалось что просто изменив в папке Scripts нужный мне скрипт я получу нужное. Для пробы изменил в кастоме явно свой объект. Но изменения на сервере не отобразились. То есть после каждого изменения в Scripts необходимо пересобирать exe ? Или как то по другому? Начал только разбираться с UO, и что то в сотнях тем прочитанных этот момент не нашел.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
Aimed
сообщение 25.11.2017, 19:06
Сообщение #2


*********

Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012
Группа: Пользователи
Наличность: 8491
Пользователь №: 15.607



Кстати, насчет 20 сек это тоже не совсем правда.... у тебя статическая компиляция всегда все соберает и выходит что у тебя время билда дольше. Просто ты дольше смотришь на то как студия компилирует твой проект, чем на консоль сервера и то как он компилирует папку Scripts.
С динамической компиляцией ядро уже собранное в 99% случаев и скрипты динамически компилируются и то только тогда когда были внесены правки в Scripts папке.
По сути если просто перезапускать сервер с правками только в скриптах, то он не сильно медленее будет вставать чем при статической компиляции всего проекта и я даже не уверен медленнее ли он на самом деле.

Основная экономия во времени идёт как раз засчет проверок типов и сериализации/десерилазции, но оно очень шустро через PLINQ все проверяет. И в тоже время каждый раз все из папки Server пересоберается, хотя это нужно крайне редко.

Если говорить об экономии времени во время сборки для разработки, то гораздо выгоднее разбить огромную папку Scripts тоже на проекты и если были внесены правки только в одном из них, то у тебя с динамической компиляцией скриптов сервер вобще будет взлетать, да и со статической компиляцией будет тот-же результат.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
StaticZ
сообщение 29.11.2017, 0:57
Сообщение #3


*********

Разработчик проекта "Квинтэссенция"
Сообщений: 2.155
Регистрация: 15.6.2009
Группа: Пользователи
Наличность: 0
Из: РФ, Москва
Пользователь №: 11.948



Цитата(Aimed @ 25.11.2017, 19:06) *

Кстати, насчет 20 сек это тоже не совсем правда.... у тебя статическая компиляция всегда все соберает и выходит что у тебя время билда дольше. Просто ты дольше смотришь на то как студия компилирует твой проект, чем на консоль сервера и то как он компилирует папку Scripts.

Да нет все таки через студию быстрее, там идет частичная перекомпиляция без всяких плясок с бубнами (разницу между собрать и пересобрать можете сами почувствовать. Первого в 99% случаев достаточно и компиляция идет 1 секунду). Но дело даже не столько в 20 секундах, а в общем удобстве. Не надо скакать между окнами, я к примеру во время дебага даже вывод самого сервера делаю в студии а сама она без всяких окон стартует. Что еще более важно в случае ошибок компиляции в студии одним кликом попадаешь на проблемное место, а если у человека мало опыта то подобных ошибок будет много и время на чтение, переключение между окнами и поиска нужного места уходит куда дольше 20 секунд. Тоже и с отладчиком, если скрипты собирает ранка, то конечно можно присоединить отладчик студии к ней, но эти действия тоже требуют времени или изобретения костылей, а порой приходится отладку начинать с начала по нескольку раз.

Есть и куча других плюсов к примеру копирование скриптов на сервер занимает куда больше времени чем уже собранной дллки (опять же да можно настроить костыли и для решения этой проблемы к примеру копировать через репозиторий, но зачем если можно без них?), проект приобретает более целостный вид так как библиотеки и исполняемые файлы принадлежат какой-то конкретной версии, тут не может вылезть какая-то неприятная путаница что кто-то как-то что-то поменял\добавил\убрал из скриптов. Да и вообще понятие скриптов я считаю крайне не удачным, так как это полноценный код что отвечает почти за всю логику приложения, обладающий собственной архитектурой. Впрочем и само деление на ядро\скрипты слегка сумбурно, сервуо еще больше внесло хаоса. Вообщем если работать с кодом то однозначно удобнее когда все через IDE выполняется, а если на уровне скачал что-то откудато запихнул к себе то да удобнее с само компиляцией


--------------------
RP сервер UO: Quintessence, а также ПО: EssenceUCS, EssenceUDK, CentrEd+, Fiddler+ и др.
Game isn't a dream, it is the reality, reality which is coming while we dream...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
Chicos   Компиляция или не надо   24.11.2017, 5:53
Soteric   Ты понял верно. При запуске папка Scripts должна п...   24.11.2017, 6:04
Juzzver   Если ядро в проекте объединяет обе папки Server и...   24.11.2017, 15:19
Aimed   Ну вы и ответы даёте... я бы не зная сабжа нафиг з...   24.11.2017, 18:51
StaticZ   Да, если так уже сделали, то прийдется, но так дел...   24.11.2017, 19:05
Aimed   Как по мне при статичной компиляции куда проще и ...   24.11.2017, 19:10
StaticZ   А кто мешает отладчиком пользоваться то? Нужно про...   24.11.2017, 19:43
Aimed   Ну так эта и есть статическая компиляция о которо...   24.11.2017, 20:55
Chicos   Линк был на FAQ о дебаге ядра + скриптов при норм...   24.11.2017, 22:50
Aimed   Ну Аймед, так то то ты это и есть предшественик, ...   24.11.2017, 23:07
Juzzver   Я лично не ощутил проблем с сериализациями при раб...   25.11.2017, 15:18
Aimed   Я лично не ощутил проблем с сериализациями при ра...   25.11.2017, 18:35
Juzzver   А что там случилось вобще? Потому что когда мне д...   26.11.2017, 1:02
Aimed   Да нет все таки через студию быстрее, там идет ча...   29.11.2017, 19:17
StaticZ   Я что-то не в теме. О каких окнах речь?Я про окошк...   30.11.2017, 19:11
Juzzver   Столкнулся с неприятным моментом при использовании...   8.12.2017, 20:02
Aimed   Столкнулся с неприятным моментом при использовани...   9.12.2017, 19:03
Juzzver   Решил покопаться, в итоге получилось сделать чере...   1.2.2018, 21:13
Aimed   Надо будет ещё попробовать там msbuild/xbuild (if ...   2.2.2018, 13:35
volkinson   Ребята, а как сделать так, чтобы скрипты подгружал...   27.3.2019, 13:00
Juzzver   Глянул о чем речь - это нечто иное как конфиги, с ...   27.3.2019, 18:38
Aimed   С рефлексией большой гемор будет. Куча подводных к...   28.3.2019, 12:38
Juzzver   Еще как вариант, можно взять тот же форк UOForever...   28.3.2019, 19:33
Wap   С рефлексией большой гемор будет. Куча подводных ...   29.3.2019, 1:45
Aimed   В одно рыло в свободное от работы время - это год...   29.3.2019, 14:04
Alastar   Если только она магическая )) Ultima Offline Ex...   30.3.2019, 13:44
Alastar   Как вариант впилить javascript библиотеку в ядро и...   29.3.2019, 9:57
Ozzy Osbourne   Как вариант впилить javascript библиотеку в ядро и...   29.3.2019, 11:06
RL_ka   Зачем изобретать велосипеды, если для этих целей у...   29.3.2019, 14:21
Aimed   Зачем изобретать велосипеды, если для этих целей ...   29.3.2019, 14:32
Ozzy Osbourne   Ты действительно не понимаешь чем UOX3 отличается ...   30.3.2019, 17:56


Ответить в эту темуОткрыть новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 2.6.2024, 1:34
Designed by Nickostyle