• Есть ли структура данных для многопоточной обработки с лимитами не-параллельности по ID?

    @AlexHell Автор вопроса
    jcmvbkbc, глобальный порядок не нужен (действительно если бы нужен был - только в однопотоке можно это сделать), а вот локальный желателен

    и если получится - глобальный хоть сколько-нибудь нужен в том плане чтобы не висели задачи в очереди вечно, например если придет 1я задача, 2я .. 1000я, не надо чтобы 1я висела до окончания веков, потому что новые задачи будут появляться (1000я-2000я и т.п)
  • Почему на некоторых устройствах, игра не отображается?

    @AlexHell
    Эмиль, у меня нет мак-бука, но в новых версиях юнити по опыту часто бывают новые баги, обычно там есть LTS ветка и beta, да даже в LTS (стабильная) бывают баги и туда они постят только фиксы.. а там где beta - огромное их число, в остальных (не LTS и не beta) багов число посередине :)
  • Почему на некоторых устройствах, игра не отображается?

    @AlexHell
    Эмиль, если бы все так просто решалось в других случаях :) а когда есть большой проект и никто его переписывать не станет, вот берется лог и ищется баг, постятся темы на форумах юнити и ищутся баг репорты - так и живут геймдевелоперы
  • Почему на некоторых устройствах, игра не отображается?

    @AlexHell
    Эмиль, пробуйте поиском по логу найти слова
    warn
    err
    unsupported
    shader (скорей всего при ошибке оно найдет его и с warn типо не компилит шейдер)
    а уж там анализировать

    может найти и системные не только юнитиевские всмысле - если лог общесистемный
    поэтому если много лишнего и анализировать сложно - можно сократить так (или дадже еще сократить список слов, скажем убрать dalvikvm или debug)
    adb logcat -s Unity ActivityManager PackageManager dalvikvm DEBUG > logfile.txt
    но это потребует новый забор логов с устройства
  • Почему на некоторых устройствах, игра не отображается?

    @AlexHell
    Эмиль, в таком случае эффективного решения нет, можно неэффективно просматривать все исходники шейдеров и пробовать в них что-то менять, скажем precision понижать у переменных или какието фичи блоками отключать - и давать юзерам заного тестить и ждать результата
  • Почему на некоторых устройствах, игра не отображается?

    @AlexHell
    ADB LOGCAT ваш выбор - для сбора логов
    https://developer.android.com/studio/command-line/...

    если проблемы в шейдерах - они в логах будут, изучайте, гуглите сопутствующие темы
  • Как оптимизировать анимации?

    @AlexHell
    точно проверили что нет множества вызовов (вместо одного) ShowCard ? надо исключать более простые варианты

    если один вызов - см пункт про "много что модифицируется, т.е. window.cardQuestionBorder.RenderTransform это чтото большое"
    и если и это маленький объект и оптимизить его не выходит - над глубоко копать

    обычно GPU грузится при перерисовке чего-либо с помощью шейдеров или просто блитов - копирований из текстуру в текстуру

    у вас же анимация простой X двигает - это перерисовывает сам объект многократно, но не думаю что настолько что GPU тормозит

    попробуйте другие объекты анимировать, т.е. идти от простого к сложному, и замерять на том тормощящем ПК, возможно какая-та часть этого window.cardQuestionBorder.RenderTransform является слишком тяжелой - только такой вывод у меня, там может быть или просто огромное число объектов вложенных.,или какие-то шейдеры

    ну или у тестера слабый ПК на столько что там рендер какойто багающий, или CPU рендер - лагал бы CPU - просите у него замерять CPu и GPU, возможно еще логи какието
  • Колледж или 11 для программиста?

    @AlexHell
    Но вот обычные вузы в моем городе дают только базовые знания и устаревшие на 15 лет технологии.

    у нас кстати было похоже (устаревшие технологии), но это ни в коей мере не принижает опыт тех учителей, и возможность у них поучиться.. все технологии устаревают, и когда вы зкончите ВУЗ, внезапно, ваши знания устареют (в каком бы крутом ВУЗе вы не учились, просто жизнь такая что все меняется быстро, а в разработке ПО тем более), так что думать изза устаревших тех - что они не стоят вашего внимания - много упустить, ну делайте в параллель чтото что вам кажется более современным, инициативу проявите
  • Колледж или 11 для программиста?

    @AlexHell
    И еще раз, учеба вам ничего не даст

    давайте детей в 1 год сразу на работу отправлять, ведь учеба ничего не дает, правда? и я не передергиваю, по факту вы мыслите категорией "я отучился и мне кажется что мне это ничего не дало потому что сейчас я добился Х" но вы не сравнили какого-бы Y вы добились если бы не пошли учиться тогда (когда пошли), и без сравнения - ваши слова не имеют смысла, и даже сравнив посмотрев на других людей - это не будет статистикой, во всем мире учеба - дает знания, навыки, и опыт, в том числе навыки учиться и искать инфу, навыки базовые по жизни, по общению с людьми (софт скилс), навыки вашей профессии
  • Как изучать С# после С++, и стоит ли вообще?

    @AlexHell
    Ну я так понимаю он на Unity собрался делать игры, а там C# или js. Хотя лучше на том же unreal engine, он пооптимизированней будет, и там на С++ писать можно.

    * на юнити давно только C#, а подвариант JS давно выпилен
    * у юнити свой рунтайм который исполняет C++ код полученный из IL полученный из C#, т.е. перфоманс там сравнимый с тем что вы бы написали на C++ сами, но более безопасный (по памяти и оптимизациям тулзой, и чтобы написать также самому - надо десять лет опыта)
    т.е. пишется на C#, а получается перфоманс
    * и никто не запрещает сделать оптимальней по алгоритмам \ подходам \ архитектуре, а на C++ новичок в unreal сделает супер-не-оптимально потому что он не умеет в оптимальность
    * я бы учил C# и Unity, а никак не Unreal с C++
  • Как связать шину MassTransit со всеми консьюмерами из Microsoft Dependency Injection?

    @AlexHell
    а теперь представьте что будет, когда на проект приходит еще один программист, и также спрашивает "а как вся эта лапша работает", если даже архитектор (вы) этого не понимает и у него куча вопросов, то у всех остальных будет тоже куча вопросов, возможных багов изза непоняток

    имхо, бросьте такие либы и возьмите чтото попонятней
    или сделайте Explicit NEW, т.е. явное конструирование там где оно должно быть явно, а не через лапшу зависимостей, которые по сути своей избыточны
    (наболело, часто юзают эти DI контейнеры, а толку от них мало, один вред)
  • Как смириться с тем, что нельзя убирать плохой код на проекте?

    @AlexHell
    особенно когда говорят что не тратить время на рефакторинг и покрытие тестами - нету времени, все в аврале.. вот с текущего проекта такая же ситуация
  • Как сделать задержку выполнения кода в Unity C#?

    @AlexHell
    ну тогда так
    void МоеУсловие()
        {
            StartCoroutine(CoroutineDelayAndRun());
        }


    или напрямую из update()
    {
    if (мое условие) StartCoroutine(CoroutineDelayAndRun());
    }
  • Как сделать задержку выполнения кода в Unity C#?

    @AlexHell
    sylniyduxom, зависит от того что для вас "определенный момент"
    если у вас объект создается в этот самый момент, то его Start() запустит корутину
    ну или в каком-то корневом объекте (менеджере игры?) сделайте запуск корутины, в которой WaitForSeconds(нужное число задержки) и по исполнению этой задержки = действие сработает
    // GAME MANAGER
    void Start()
        {
            StartCoroutine(CoroutineDelayAndRun());
        }
    
        IEnumerator CoroutineDelayAndRun()
        {
            yield return new WaitForSeconds(5);
    
            Run(); // этот метод через 5 сек вызовется от старта корутины
        }
  • Как сделать задержку выполнения кода в Unity C#?

    @AlexHell
    не рекомендую делать WaitForSeconds в Update потому что по сути такой код будет начинать каждый тик (Update вызывается 60 вроде бы раз в секунду) новый интервал задержки, и сам Update может встать (или чтото еще в таком духе, надо тестить, вообщем баг явный)

    на самом деле такой код может рабоатть, но только для быстрых корутин, не для ожидания 5 сек
    IEnumerator Update()
    {
    yield return MyMethod1();
    yield return MyMethod2();
    yield return MyMethod3();
    }


    аналогично из Start можно запускать корутину с ожиданием
    IEnumerator Start()
    {
    yield return MyMethod1();
    yield return MyMethod2();
    }


    лучше запустить корутину из Start() - пример же в доке есть
    void Start()
        {
            //Start the coroutine we define below named ExampleCoroutine.
            StartCoroutine(ExampleCoroutine());
        }
    
        IEnumerator ExampleCoroutine()
        {
            //Print the time of when the function is first called.
            Debug.Log("Started Coroutine at timestamp : " + Time.time);
    
            //yield on a new YieldInstruction that waits for 5 seconds.
            yield return new WaitForSeconds(5);
    
            //After we have waited 5 seconds print the time again.
            Debug.Log("Finished Coroutine at timestamp : " + Time.time);
        }
  • Английский для продолжающих?

    @AlexHell
    >> нельзя просто так засунуть в голову список слов, их надо встречать в контексте постоянно и они залезут сами
    я бы даже сказал по опыту (лет 10 назад я варился в сфере геймдева на WarCraft3 - там были специфические модельные объекты, и я наизусть их тогда помнил, сейчас могу и ошибиться)
    "если перестать встречать эти слова, ты их забудешь"
  • Как заработать на разработке игр?

    @AlexHell
    не путайте
    1) заработать денег в бизнесе т.е придумать удачную идею, сделать реализацию как надо, влить бюджеты в этом все, и получить профит
    2) работать на дядю за з/п который сам займется пунктом 1, но вам он будет платить гарантированно эту самую з/п

    так что фриланс или не фриланс а скажем работа в офисе или удаленно за з/п, вы можете заняться пунктом 2
  • Как сделать, чтоб копия массива сортировалась слиянием?

    @AlexHell
    >> в Dev-C++ компилируется, в Ideone - нет (даже после закомментирования getch)
    приведите ошибки
    может быть нет include чеголибо
    может быть кодировка т.к. русские символы есть
  • Как решить эту ошибку - n.process.BaseOSProcessHandler - Process hasn't generated any output for a long time.?

    @AlexHell
    - установить другую версию idea
    - снести лишние службы, там какойто JBoss и WildFly11Agent