Ускорение Unity

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Ускорение Unity

Сообщение Mimik 10 янв 2013, 15:35

Всем привет, возможно нубский вопрос, о гугл не подсказал. или руки кривые.
В общем суть вопроса такова :
Система на базе 2011 сокета с 16гб оперативной памяти на борту, но почему-то Юнити не хочет кушать больше 2х гб. мне для тестов надо.
Знаю что многие скажут нельзя так забивать память, но я тестирую некоторые скрипты и чтобы их отладить нужно ускорить процесс.

к примеру создать 1000 деревьев требует много времени, или же юнити вообще повисает.
Также хотелось бы разобраться с дебагом, чтобы при проверке можно было работать с брейк поинтами. что, почему-то не работавет....
И закгрузка цп не более 13 % а хотелось бы нагрузить на все 100
Ось Windows 7 Pro x64
Нет, я не пишу игры, мне просто интересно развиваться, и я просто стал изучать Unity.
Скучно на работе, занялся развитием..
Mimik
Админ
 
Сообщения: 113
Зарегистрирован: 20 дек 2012, 18:50
Откуда: г.Костомукша
Skype: Mimik_fc7
  • ICQ

Re: Ускорение Unity

Сообщение DbIMok 10 янв 2013, 16:04

Mimik писал(а):Юнити не хочет кушать больше 2х гб

потому что редактор 32-битное приложение?
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Ускорение Unity

Сообщение Mimik 10 янв 2013, 16:37

на сколько написанно в описании 4.0 продукта что стоит у меня он поддерживает и 64 бита!
и при компиляции поддержка есть 64 бита.

чтобы не плодить тонну тем, подскажите это что никак не обойти :
CreatePrimitive can only be called from the main thread.(с)
Нет, я не пишу игры, мне просто интересно развиваться, и я просто стал изучать Unity.
Скучно на работе, занялся развитием..
Mimik
Админ
 
Сообщения: 113
Зарегистрирован: 20 дек 2012, 18:50
Откуда: г.Костомукша
Skype: Mimik_fc7
  • ICQ

Re: Ускорение Unity

Сообщение Woolf 10 янв 2013, 16:55

Mimik писал(а):на сколько написанно в описании 4.0 продукта что стоит у меня он поддерживает и 64 бита!
и при компиляции поддержка есть 64 бита.

чтобы не плодить тонну тем, подскажите это что никак не обойти :
CreatePrimitive can only be called from the main thread.(с)


При компиляции! Но не редактор! Редактор - х32, а вот компилятор - он создавать может и на х64.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Ускорение Unity

Сообщение DbIMok 10 янв 2013, 17:24

Mimik писал(а):CreatePrimitive can only be called from the main thread.

взаимодействовать с классами движка нужно из основного потока. почему у вас такая ошибка без доп. сведений непонятно
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Ускорение Unity

Сообщение Mimik 10 янв 2013, 18:56

DbIMok писал(а):
Mimik писал(а):CreatePrimitive can only be called from the main thread.

взаимодействовать с классами движка нужно из основного потока. почему у вас такая ошибка без доп. сведений непонятно


а что тут не понятного, попытка создать объект из отдельного потока приводит к такой лабуде, жесть. Уже пробивает интерес на ПРО также или же там реализованна многопоточность более адекватно.
В фри версии даже Random.seed нельзя задать в отдельном потоке - идиотизм мля...
Нет, я не пишу игры, мне просто интересно развиваться, и я просто стал изучать Unity.
Скучно на работе, занялся развитием..
Mimik
Админ
 
Сообщения: 113
Зарегистрирован: 20 дек 2012, 18:50
Откуда: г.Костомукша
Skype: Mimik_fc7
  • ICQ

Re: Ускорение Unity

Сообщение seaman 10 янв 2013, 19:22

Насколько я знаю любой класс и метод Юнити нельзя использовать из других потоков.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Ускорение Unity

Сообщение DbIMok 10 янв 2013, 19:45

Mimik писал(а):попытка создать объект из отдельного потока

ранее эта информация нигде кроме как в сообщении об ошибке не фигурировала
Mimik писал(а):жесть ... идиотизм мля

если вы будете продолжать в таком тоне, придется с вами попрощаться. вы сколько мультиплатформенных движков написали? наверное лучше разработчиков знаете, что "идиотизм", а что нет?
Mimik писал(а):даже Random.seed

используйте System.Random
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Ускорение Unity

Сообщение Mimik 10 янв 2013, 23:25

DbIMok писал(а):
Mimik писал(а):попытка создать объект из отдельного потока

ранее эта информация нигде кроме как в сообщении об ошибке не фигурировала
Mimik писал(а):жесть ... идиотизм мля

если вы будете продолжать в таком тоне, придется с вами попрощаться. вы сколько мультиплатформенных движков написали? наверное лучше разработчиков знаете, что "идиотизм", а что нет?
Mimik писал(а):даже Random.seed

используйте System.Random


Хм из ошибки вроде понятно что я пытаюсь делать, не так много где может возникнуть подобная ошибка, не правда ли?
Тон мой таков какой есть, я не супер кодер и не писал 3д движков, но начнем с того что я и не берусь делать то что не умею. Но ограничивать некоторые функции в однопоточность это както попахивает msdos(ом)
угрозы же с вашей стороны абсолютно не имеют почвы, вы что сами писали данный дивжок?

А System.Random мне знаком и я уже на него перевел все что было необходимо. Теперь все расчеты проходят в сторонних потоках а реализация в главном.

PS иногда если нечего сказать - лучше молчать...
Нет, я не пишу игры, мне просто интересно развиваться, и я просто стал изучать Unity.
Скучно на работе, занялся развитием..
Mimik
Админ
 
Сообщения: 113
Зарегистрирован: 20 дек 2012, 18:50
Откуда: г.Костомукша
Skype: Mimik_fc7
  • ICQ

Re: Ускорение Unity

Сообщение DbIMok 11 янв 2013, 00:11

Mimik писал(а):из ошибки вроде понятно что я пытаюсь делать

из нее же понятно, что так делать нельзя, не правда ли?
Mimik писал(а):я и не берусь делать то что не умею

вы пока что не умеете программировать под юнити, но беретесь. не бывает идеальных продуктов, тем более сразу. не с вашим уровнем судить о том, что умеют или не умеют делать разработчики юнити.
Mimik писал(а):ограничивать некоторые функции в однопоточность

есть многопоточный С++ движок, есть его не thread safe API, с этим API взаимодействуют наши mono скрипты. для такого решения были определенные причины. возьмите любой С++ движок в исходниках и пишите в нем что хотите и как хотите.
Mimik писал(а):вы что сами писали данный дивжок

я пишу на этом движке, форум посвящен этому движку, посетители форума любят этот движок... мысль улавливаете?
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Ускорение Unity

Сообщение Mimik 11 янв 2013, 00:45

1. Двиг никто не оскорбляет.
2. Уровень моего знания С++ вас может крайне удивить.
3. Знание Unity да, хромает. Но я стремлюсь к изучению новой ветки.
4. Unity как видно из релизов не первая версия.
5. Все любят этот вижок, и мне он симпотичен. поэтому и пытаюсь найти обходные пути.
6. Любой маломальский С++ компилятор вполне поддерживает создание объектов в отдельных потоках. я и не прошу рендер делать в отдельном потоке, а вот создать объекты а потом вывести их на рендер было бы "няшка" но увы даже создавать объекты нельзя. Также как и клонировать.
7. Из вопроса "неужто никак не обойти" так и звучало, что мне понятно что так делать нельзя. и я ищу способы обхода.
8. В принципе я уже придумал некоторый подход.

PS Будет желание продолжить полемику Велкам то скайп =) Mimik_fc7
Нет, я не пишу игры, мне просто интересно развиваться, и я просто стал изучать Unity.
Скучно на работе, занялся развитием..
Mimik
Админ
 
Сообщения: 113
Зарегистрирован: 20 дек 2012, 18:50
Откуда: г.Костомукша
Skype: Mimik_fc7
  • ICQ

Re: Ускорение Unity

Сообщение DbIMok 11 янв 2013, 03:35

http://forum.unity3d.com/threads/90128- ... ing-Helper - чуда не произойдет, но может быть чем-то будет полезно.
http://docs.unity3d.com/Documentation/M ... rface.html
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Ускорение Unity

Сообщение Mimik 11 янв 2013, 11:10

DbIMok писал(а):http://forum.unity3d.com/threads/90128-Unity-Threading-Helper - чуда не произойдет, но может быть чем-то будет полезно.
http://docs.unity3d.com/Documentation/M ... rface.html


Спасибо, но как работать с потоками я знаю еще со времен С++ без Unity, по второй же ссылке мультипотоковый рендер по апи. и как я понял(возможно не правильно) это апи будет доступно в про версии....

а так я выкрутился следущим способом:
создал моно скрипт, в нем создал массив для хранения объектов, создал таймер который будет проверять изменения и как известно таймер работает в отдельном потоке, если поступили новые объекты передать в переменную типа bool true а в функции Update проверяем если true проверить список на наличие не выведенных на экран объектов. Пока грамоздко, но на 12к объектов занимает всего 50мб памяти, выполняеться достаточно быстро.
Сама же генерация случайных объектов также делаеться в отдельном потоке и заносится переодически в созданный выше массив. Скорость выполнения меня порадовала, но буду оптимизировать...
Нет, я не пишу игры, мне просто интересно развиваться, и я просто стал изучать Unity.
Скучно на работе, занялся развитием..
Mimik
Админ
 
Сообщения: 113
Зарегистрирован: 20 дек 2012, 18:50
Откуда: г.Костомукша
Skype: Mimik_fc7
  • ICQ


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: GoGo.Ru [Bot] и гости: 21