Donate with PayPal button New New

+ Ответить в теме
Страница 2 из 2 ПерваяПервая 1 2
Показано с 11 по 18 из 18

Тема: Длина звуков

  1. #11
    Пользователь Аватар для BlackGoga
    Регистрация
    28.04.2011
    Страна
    Адрес
    Саров
    Возраст
    50
    Сообщений
    36

    По умолчанию

    Потоки в скриптах являются псевдопотоками. Т.е. на параметр "thread" новый поток не создается физически, а функция заносится в список тредовых очередей.
    Реально создается пулл потоков, потоки из этого пула производят все тредовые, да и не тредовые вычисления поочереди. Соответственно чей-то скрипт работает, чей-то ждет своей очереди. Поэтому точной синхронизации добиться не получиться. Чем меньше нагрузка на проц - тем точнее будут работать алгоритмы.
    Поэтому со слипами правило такое - слип будет продолжаться не меньше указанного времени. Исходя из загрузки процессора в реальности слип будет равен или больше заданного времени.

  2. #Trainz
    Реклама
    Регистрация
    Постоянная
    Адрес
    Весь мир
    Возраст
    2010
    Сообщений
    Много

    Donate with PayPal button N3v New New

     

  3. #12
    Пользователь Аватар для amd103
    Регистрация
    09.01.2010
    Страна
    Адрес
    Ульяновск
    Возраст
    32
    Сообщений
    1,022
    Автор

    По умолчанию

    Имхо для игры реальная вытесняющая многопоточность не нужна. С ней только прибавится мороки с необходимостью синхронизации, а преимуществ особо и не видно.

  4. #13
    Пользователь Аватар для BlackGoga
    Регистрация
    28.04.2011
    Страна
    Адрес
    Саров
    Возраст
    50
    Сообщений
    36

    По умолчанию

    Цитата Сообщение от amd103 Посмотреть сообщение
    реальная вытесняющая многопоточность не нужна
    Совершенно верно, и проблема тут абсолютно не в синхронизации (это делается легко), а в том что:
    1. Посмотрите сколько thread функций вы используете к примеру в локе, вагоне.
    2. Посчитайте сколько объектов на карте имеющих thread функции.
    3. Сложите их количество (thread функций).
    И теперь самое главное, если на все это плодить отдельные потоки, то ваш процессор будет только тем и заниматься, что перегружать свои регистры стеком очередного потока. Делать все остальные дела ему будет некогда
    Да и если посмотреть на тот факт, что одновременно выполняется потоков равное числу ядер - чрезмерное и не обдуманное создание потоков не даст роста производительности.
    Последний раз редактировалось BlackGoga; 20.05.2011 в 13:05.

  5. #14
    Пользователь Аватар для TRam_
    Регистрация
    22.09.2009
    Возраст
    33
    Сообщений
    16,432

    По умолчанию

    1. Посмотрите сколько thread функций вы используете к примеру в локе, вагоне.
    в данный момент используется число потоков, равное числу воспроизводимых звуков (и иногда +1 дополнитеьный). В дальнейшем планируется делать таблицу выполнения звуков, чтоб реализовать "многопоточность" в самом скрипте, используя только один thread. Например система z7-xPath построена исключительно на обработчиках сообщений, поток там используется только для отмены блокировки построения маршрутов на перегон, задаваемой перед переключением направления этого перегона.

    Да и если посмотреть на тот факт, что одновременно выполняется потоков равное числу ядер
    ну это понятно. В zdsim'е, как я понял, физику считает одно ядро, перебрасыванием текстур и моделей в видеокарту - второе. В трейнзе физика не такая сложная, скрипты (которые стандартные, а не которые мы делаем) тоже простые, потому аурановцы такого распараллеливания не сделали.
    Последний раз редактировалось TRam_; 20.05.2011 в 13:22.

  6. #15
    Пользователь Аватар для amd103
    Регистрация
    09.01.2010
    Страна
    Адрес
    Ульяновск
    Возраст
    32
    Сообщений
    1,022
    Автор

    По умолчанию

    Цитата Сообщение от TRam_ Посмотреть сообщение
    реализовать "многопоточность" в самом скрипте, используя только один thread.
    Смыселъ?
    Как правило, любая реализация чего-либо в скрипте значительно медленнее того же в коде игры.
    Цитата Сообщение от TRam_ Посмотреть сообщение
    Например система z7-xPath построена исключительно на обработчиках сообщений, поток там используется только для отмены блокировки построения маршрутов на перегон, задаваемой перед переключением направления этого перегона.
    Событийная ориентированность хороша лишь там, где она хороша. В локомотиве, в моделировании его с т.з. физики, её роль крайне мала.
    Цитата Сообщение от TRam_ Посмотреть сообщение
    В трейнзе физика не такая сложная, скрипты (которые стандартные, а не которые мы делаем) тоже простые, потому аурановцы такого распараллеливания не сделали.
    У вытесняющей многопоточности в скриптах нет преимущества ни в производительности, ни в удобстве, так что простые ли, сложные ли расчеты скриптов и физики, оная в ГС не_нужна.

  7. #16
    Пользователь Аватар для Jericho
    Регистрация
    30.10.2012
    Страна
    Адрес
    Тверь
    Сообщений
    695

    По умолчанию

    Цитата Сообщение от amd103 Посмотреть сообщение
    Немного поправленная версия — теперь длина звуков всегда выводится с десятичной точкой.
    exe
    src
    как скачать то качается какой то плеер,а по второй ссылке какие то крякозябры как ими пользоваться?

  8. #17
    Пользователь Аватар для Jericho
    Регистрация
    30.10.2012
    Страна
    Адрес
    Тверь
    Сообщений
    695

    По умолчанию

    Спасибо во всем разобрался,хорошая програмулинка!

  9. #18
    Пользователь Аватар для Snark
    Регистрация
    21.09.2009
    Сообщений
    335

    По умолчанию

    На всякий случай, если вдруг кто не знал, вывод программы можно "положить" в текстовый файл, делается это подобным образом:
    Код:
    C:\wavelength "C:\sounds" "%f %l" > output.txt
    И в папке, откуда вызывалась программа (в примере - в корне диска C) появится файл output.txt с нужными нам данными.

+ Ответить в теме
Страница 2 из 2 ПерваяПервая 1 2

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения