qwertyMAN
-
Публикации
1 009 -
Зарегистрирован
-
Посещение
-
Победитель дней
47
Сообщения, опубликованные пользователем qwertyMAN
-
-
Если бы это было не так, видеокарт бы не было.Ну так в том то и дело. Видеокарты используют много простых вычислений. А простые вычисления и близко не стояли к какому нибудь серьёзному алгоритму на нахождение чего-то нужного.
Вот и выходит. Что ускорение ускорением (тут я не спорю, что есть в нём смысл), но задачи более серьёзные они просто не могут решить.
А люди ведь надеются на это. Недавно вон отписался игрок, который думал что генетика в Forestry сложная и её можно решить многопоточностью. Если бы она была реально сложная, многопоточность бы не помогла.
Теперь насчёт задачи, мне очень любопытно как вы её собираетесь решить.
Скажем так, для примера у нас есть 5 чисел. (не больше, не меньше) Каждое число является одним из 10 символов специального алфавита. Нам нужно пройтись брутом по всем вариантам перемножения этих чисел. Но мы знаем, что от перемены мест слагаемых значение суммы не меняется, а значит например комбинации 14444, 41444, 44144, 44414, 44441 будут считаться за одну.
Тут возникает дилемма. Проходиться по лишним комбинациям и использовать многопоточность, чтобы распределить брут и быстрее решить задачу? Либо решать на одной машине, но не проходить по лишним комбинациям, используя более логичный цикл?
Что выберете вы? И можно ли со вторым случаем как либо подрубить многопоточность? Я так понимаю что нет, но может вы откроете мне глаза на какой-то чудесный алгоритм многопоточности для этого случая?
Так то выходит, что второй алгоритм работает тем эффективнее, чем больше у нас цифр нужно перемножить. То есть это заставит работать больше компов одновременно используя первый алгоритм, чтобы догнать один комп использующий второй алгоритм.
На примере таблицы умножения. Обычный комп решит задачу за t времени, два компа с алгоритмом для многопоточности решат задачу за те же t времени. Но их нужно два. И если их поставить 4, то они решат за t/2 времени. Что как бы довольно быстрее чем один комп. Но по эффективности нагрузки, они проигрывают в 2 раза обычному компу.
-
Я вот хз что ты пытаешься доказать. Что многопоточность в принципе ненужная штука? Тебя не смущает, что операционная система в которой ты работаешь, сейчас поддерживает десятки активных потоков, которые обеспечивают тебе комфортную работу?Вот только это работа моего компа в полную его мощь, а не какие-то грабли на скриптовом языке lua, который сам по себе не поддерживает многопоточность и работает медленнее других языков, так ещё и в моде на майнкрафт, который ещё больше урезает возможности lua.
Но и это не всё! В добавок ситуацию осложняет то, что в этом самом майне даже без многопоточности никто толком не использует не роботов, не голограммы, не дронов. А как вы уже писали выше, ваша многопоточность создана лишь для развлечения и ничем в игре итак помочь не способна.
По этому я "пытаюсь" доказать лишь то, что выше уже говорилось вашей командой раработчиков:
многопоточность это просто развлечение, как и сам майн(в контексте именно многопоточности в ОС, а не многопоточности в целом)
-
1
-
-
@@Totoro, фракталы рисовать. Генетику Forestry, думаю, тоже можно прицепить, пусть я даже не знаю, как она работает :P
Что?
Генетика Forestry основана на законе Менделя и своём внутриигровом шансе мутации. Там то по сути ничего просчитывать и не нужно. Можно просто на монитор допустим выдать характеристики с шансами их появления и отображать риски мутации. Но это может один комп запросто делать. Тут абсолютно не нужна многопоточность. Это элементарная задача.
Про Фракталы тебе уже ответил Лёха:
Хватит флудить не по делу, многопоточность это просто развлечение, как и сам майн
Как видишь, многопоточность придумана для детских вычислений по типу 2x2. А всякие сложные задачи на нахождения простых чисел, Фракталов и прочего им не под силам.

В этой теме тебе не дадут ответа, как решить сложную задачу. Можешь и не задать тут таких вопросов.
-
1
-
-
Распараллелить можно все почти, если руки прямые.
Вот только дело в том, что задачи которые долго решаются, такого типа как я описал, судя по всему нельзя распараллелить. А это очень плохо.
И я всё ровно не понял, какая область применений у вашего распараллеливания. Он то по сути в майне то и не нужен. Может быть он поможет турели быстрее реагировать на цель? Или свинокоптеру летать быстрее (хотя стоит похоронить уже этот свинокоптер с приходом новой версии майна)
А может распараллеливание позволит роботу сканировать руды быстрее? Хм, вроде бы нет. Тогда зачем оно в майне?
Я бы понял, если бы вы как ECS стремились оптимизировать и улучшить графику, которую имеет смысл улучшать для создания видеоигр и лучшей работы отображения обычных программ. Но вы хотите сделать такую систему, которая будет давать преимущества не понятно для кого.
Сейчас по сути события в библиотеки event отлично справляются с частью задачей, которые вы собираетесь сделать. А именно они позволяют обрабатывать псевдоодновременно несколько задач.
А другая часть задач - решения более быстрее задач вообще никому не нужна.
-
2
-
-
Что-то вы разбираете лёгкие примеры, а как насчёт более сложных алгоритмов, как их разбивать собираетесь?
Например как разбить алгоритм нахождения и заноса в таблицу простых чисел. Без многопоточности алгоритм используя таблицу с первыми простыми числами самозаполняет себя. А вот как разбить подобный алгоритм я вообще не в курсе, это реально?
Или вот пример, нужно рассчитывать и заносить числа Фибоначчи в таблицу. Как этот алгоритм собираетесь разбивать?
Для каких целей вообще собираетесь свою многопоточность использовать? Чтобы детские задачи решать???
-
1
-
-
Что вы там собрались делать? Для каких целей вам многопоточность понадобилась?
У меня кстати есть рабочая идея, как ускорить отображение изображений. Например нам нужно одновременно, чтобы несколько игроков бегали по экрану и чтобы экран не тормозил при отображении. Решение - подключить к одному монитору с клавой несколько компов, распределить задачи для каждого компа. Один отображает первого игрока, второй комп второго, третий третьего. В итоге скорость прорисовки заметно возрастёт. Так как каждый комп подключён к одному монитору и способен спокойно с ним работать, позволяя монитору работать выше своих возможностей.
Можно так мультиплеерные игры спокойно делать. Как в старых играх делить экран на 2 или 4 части и каждую часть использовать под экран для одного игрока.
-
Ну там половина участников накатала программы за 5 минут до эвента =)
Вот мы как раз сейчас тестим сборку, и выясняем баги. Большую часть выловим к эвенту и правила согласуем и устаканим.
А остальные баги будут нам fun создавать на эвенте.
Это часть запланированного веселья.

Ну тут я думаю очевидно, что самое обидное - обломится игра в стрелялки лазером. Но ладно, раз вам приятнее играть в лагах и ограничениях, то играйте. А я потом приду и буду записывать на камеру, как ваши роботы даже первого этапа не пройдут, залагав на старте.
-
С такой логикой (имею в виду @qwertyMAN) мы бы так и остались на версии 1.4.7 (потом нет многих крутых модов, например, redpower). Поэтому аргумент ошибочный.
Ты просто не понял в чём моя стратегия. Я сначала жду пока игра перестанет обновляться (хотя многие играют во время хайпа) А потом в игре, где исправлены многие ошибки, становится приятнее играть.
В случае с майном, я сначало сидел на 1.5.2 где было достаточно много модов. Далее выходиле всё новее и новее версии. Когда выходила 1.8 на 1.6.4 уже было достаточно модов и я перешёл на неё. А чуть позже когда вышла 1.9 я уже перешёл на 1.7.10. Да и многие сервера на нём работали и работают до сих пор. Просто потому, что под новые версии долго моды пилят. И лучше держаться на той версии, где больше модов и который при этом более свежий.
Но судя по тому что сервера сейчас на 1.10.2 переходят, моды многие под него затачивают, значит видимо скоро все засядут на той версии, как и на 1.7.10 сейчас. Но надолго ли? Не будет ли там слишком много багов? Уже известно, что там дроны дюпают поводки и на хрюшах не покататься, что лазеры роботы не могут использовать. И кому такой сервер будет нужен? Ещё пару штук таких багов связанных с ОС откроют и уже окончательно можно ставить крест на этой версии.
В этот раз мне не из-за модов не хочется переходить на новую версию, а из-за багов которые в последнее время начали всплывать. Это важный фактор для игры с ОС.
P.S. Да и посмотрите на обновления которые идут выше версии 1.7.10. В отличии от редстоун обновления или обновления лошадей, тут ничего интересного не добавляют. Только какие-то неинтересные обновления в энд мире с розовыми ракушками. Какие-то некому не нужные подводные данжи. Ну играл я на 1.8. Ну были там эти данжи, были блоки камня новых трёх видов из чизеля. Но это не аргумент для обновления. Эти обновления высосаны из пальца, в отличии от обновлений которые раньше выходили и которые добавляли действительно полезные вещи. А после того как mojang продались микрософту, так вообще от этих обновлений я ничего и не жду хорошего.
-
@@qwertyMAN, то, что пулька лазера у робота летит вбок - уже только это меня бы лично так озадачило, что скорее всего я бы снес 1.10 к чертям собачьим немедленно, имхо=)
Ну и моды стремные, многих нет. Ну а так то все верно, чего и не пощупать что-то неизведанное и не попить кумыса. Тем более, если ивент-менеджеры взяли на себя все издержки и заботы в полном объеме на себя. Тут уж как говорится, они сами вправе решать, что там и как будет, им видней.
1.7.10 уже хорошо изведан, многие баги все знают, с её механикой все знакомы, есть моды которые ТОЛЬКО на 1.7.10 идут, например популярный русский аддон для галактиккрафта. 20-30% популярных модов с моей сборки идут только на 1.7.10, либо заканчивают обновлять и пишут только под 1.7.10 свои моды. (например тот самый аддон под галактиккрафт не хотят под новые версии выпускать, обновляют только на 1.7.10)
Выходит - это самая популярная и проработанная версия. Устанавливать новые версии - равносильно брать кота в мешке. Какие только там баги только не всплывут. Лазеры - это ещё только начало, первый взгляд на новую версию майна.
Но ладно, раз решили так делать, то это ваше дело.
Просто я больше волнуюсь за новый сервер, как бы из-за этого перехода не пришлось отказаться от части крутых модов.
Каждые производители модов по разному относятся к поддержки разных версий, кто-то зацикливается на одной, кто-то не поддерживает старые версии и не обновляет их, а в OpenComputers разрабы молодцы, все актуальные версии обновляют. Побольше бы таких разрабов.
Особо жаль когда видишь крутой мод, а он на версии выше 1.7.10. Тут с версиями настоящая дилемма. Не очень понятно, что лучше использовать.
-
1. Создаешь файл с названием библиотеки с ".lua" на конце и закидываешь в папку /lib в OpenOS
2. Пишешь в этом файле сначала local <название библиотеки> = {} Далее расписываешь функции через <название библиотеки>.<название функции>
3. В конце кода пишешь return <название библиотеки>
4. Сохраняешь
5. Подключешь это библиотеку в других прогах через local <название переменной> = require("<название библиотеки>")
-
2
-
-
Жизнь это движение!Спроси у наших предков, какой был толк выходить из пещер. :P
Тут другой вопрос. Какой толк менять постоянное место жительства в пещере, на кочевой образ жизни и кумыс???
-
1
-
-
Что-то я не понял про переход на новую версию. На этом же сервере собирается Алекс делать свой новый сервер? А как же тот факт, что под 1.7.10 большинство модов работают? Некоторые даже застряли на нём. При том, что как вы написали на новой версии всплыли баги.
Тогда в чём смысл перехода на новую версию майна?
-
Я привык уже к keyboard api. Потом может переделаю, уже убрал кучу переменных сделал большой массив, и убрал ненужные строки кода, и с 278 строк уменьшил до 223
Да ну, этот keyboard api я посмотрел на вики. Там функций мало, да и мусор один.
Переходи на event api. Там и фильтры для событий есть и даже можно фоново запускать через event.listen() несколько отслеживающих функций на отслеживания разных событий. Например в моей проге 3-4 таких стоят. Одновременно отслеживают подключение/отключение устройств от сети и изменение пришедших сигналов красного камня на всех компонентах для работы с красным камнем. В общем, очень полезная и удобная вещь.
-
1. Тут цикл есть (может я немного не понял тебя)В программировании разрешены вложенные циклы. Ты мог спокойно, не копировать для каждой ноты отдельные настройки, а задать их через цикл.
Кроме того, у тебя не типичные отступы. Отступы делаются когда пишешь что-то внутри do ... end или then ... end и в прочих подобных случаях, кроме того, отступы могут складываться. Например идёт цикл, всё что внутри имеет один отступ. Внутри есть этого цикла есть условие if. Всё что внутри будет иметь уже 2 отступа, так как содержимое находится и в условии и в цикле. Для вложенных циклов/условий правило такое же.
Хоть эти отступы и не будут на работу кода влиять, но это важный показатель читаемости кода. А значит с читаемым кодом и ты сможешь проще читать и находить ошибки, и другие программисты смогут это делать.
Следующий момент, это условие if x == true then ... end Тут суть такова, если после if будет любая переменная кроме nil (пустая или не существующая переменная) или false, то цикл выполняться будет. А значит, это выражение можно сократить до if x then .. end
Ещё в твоём случае, тебе проще вместо keyboard.isKeyDown(0x3B) == true использовать обработку событий через local key = {event.pull("key_down")}
Эта функция будет ждать события "key_down" (нажатие клавиши) и когда ты нажмёшь клавишу, в переменную key сохранится пронумерованная таблица, из которой можно получить адрес клавиатуры откуда пришёл сигнал, номер нажатой клавиши, ник игрока нажавший клавишу и прочую нужную инфу.
Такой способ не потребует выставлять задержки, так как функция будет просто ждать пока событие не произойдёт. Да и к тому же код станет намного лучше, как визуально, так и по нагрузке на сервер/комп
-
1
-
-
Прочитав заголовок, я уже подумал, что ты осуществил мою давнюю идею построить полноценный проигрыватель и редактор музыки. Возможно даже в .abc формате, как я и хотел. Но посмотрев на скрин, всё стало ясно. А я чуть было не поставил тебе лайк за старания... Но это не вся итория...
Далее я посмотрел в код и был шокирован:
currentNote = 0 note1 = 0 note2 = 0 note3 = 0 note4 = 0 note5 = 0 note6 = 0 note7 = 0 note8 = 0 note9 = 0 note10 = 0 note1sec = 0 note2sec = 0 note3sec = 0 note4sec = 0 note5sec = 0 note6sec = 0 note7sec = 0 note8sec = 0 note9sec = 0 note10sec = 0 i = 0 i2 = 0
Получается ты не знаешь и не умеешь пользоваться массивами, которые бы намного упростили бы работу с переменными. И тут я подумал что всё! Меня больше тут нечем удивить, но тут я увидел ЭТО...
os.sleep(0.1) if keyboard.isKeyDown(0x3B) == true then -- f1 os.sleep(0.1) print("Настройка ноты 1") -- Чтение частоты io.write("Частота: ") note1 = io.read("*number") print("Частота установлена на"..note1) -- Чтение длительностей io.write("Длительность (в секундах): ") note1sec = io.read("*number") print("Длительность установлена на"..note1sec) redrawMenu() end os.sleep(0.1) if keyboard.isKeyDown(0x3C) == true then -- f2 os.sleep(0.1) print("Настройка ноты 2") -- Чтение частоты io.write("Частота: ") note2 = io.read("*number") print("Частота установлена на"..note2) -- Чтение длительностей io.write("Длительность (в секундах): ") note2sec = io.read("*number") print("Длительность установлена на"..note2sec) redrawMenu() end if keyboard.isKeyDown(0x3D) == true then -- f3 os.sleep(0.1) print("Настройка ноты 3") -- Чтение частоты io.write("Частота: ") note3 = io.read("*number") print("Частота установлена на"..note3) -- Чтение длительностей io.write("Длительность (в секундах): ") note3sec = io.read("*number") print("Длительность установлена на"..note3sec) redrawMenu() endОтлично написанный код!

В общем. Вместо того, чтобы использовать удобненькие православные циклы, ты использовал копипастинг! Это гениально!
В общем, пора подводить итоги.
Твоя программа занимает примерно 250 строк кода, даёт функционала мало, я бы сказал крайне мало, практически ничего. Нормально выглядящий код занимал бы намного меньше строк кода.
А теперь сравни свой код с этим http://computercraft.ru/topic/1570-oc-redcontrol-udobnoe-upravlenie-redstounom/
Там на 2 строки кода больше, чем в твоём коде, но функционала намного больше. Программа содержит и графический интерфейс и часть кода для отлавливания кликов по экрану и команды реагирование на события. И даже поддержку подключения и отключения компонентов во время работы.
Напомню, это 280 строк кода. Всего-то на 2 больше чем у тебя. Чуешь разницу?
А всё дело в том, что у меня использованы циклы и массивы, а у тебя нет. И это ужасно. Ты обязан их изучить, иначе будешь и дальше так же перерабатывать, писать больше кода с меньшей эффективностью.
-
5
-
-
-
1. Во первых установлен он у меня давно. Никаких новых модов до появления бага не ставил. То есть с такой комплектацией он норм работал. Во вторых мне стало интересно, из кислорода многие углеводы, а значит многие вещества состоят, сколько же в нём аспектов. (а таум всему даёт аспекты и высчитывает их состав) И тут таунометр на углерод, водород и кислород ничего не дал. Потом смотрю - а очки исчезли. (хотя не факт что они были при загрузки сохранения)
Закончится аспекты не могли, я лишь пару крафтов аспектов сделал базовых, а дальше тауминометром их открывал. Исследования всего 2 сделал. (которые кстати на удивление на пропали. И того там много очков накопилось.
2. Блин, получается те 2 сохранения были из-за краша игры. Ну это тогда вообще получается плохо. Нет автоматического копирования. А может кто знает небольшой мод или батник, который бы мог делать резервные копии сам?
3. Я его уже на автомате врубаю. А то разные баги могут всплыть, из-за которых теряются вещи. Видимо так и сделаю, чтобы решить проблему.
4. По совету игрока, что писал выше я уже скачал именно с этого же сайта и собирался уже редактировать сохранения.
5. Сайт сам завершает тег при наборе буквы Б. Я тут не причём.
-
Эта тема скорее ознакомительная, с багами таумкрафта.
Как всё было:
Зашёл в игру, хотел поисследовать химические вещества из одного не любимого админами мода через таунометр. Не получилось. Посмотрел в стол исследований - а там все базовые аспекты по 0 штук. (хотя я все кроме шести открывал)
Узлы ауры все не исследованы, аспекты тоже, деревенские жители тоже (что странно) Зато показываются исследоваными все остальные объекты, показывают в своём составе аспекты из которых они состоят (хотя в тауминиконе не исследованы крафты этих аспектов) и самое главное, эти вещи нельзя исследовать. (а значит получить очки исследований)
Всё это настолько странно, что я уже собрался удалить файл playerdata/qwertyMAN.thaum и qwertyMAN.thaumback и исследовать мод заново. Но есть одно но.
Во первых, как прочитать и отредактировать указанный файл сохранения? Hex редактором? Желательно отредактировать так, чтобы всё исправилось.
Во вторых, хотелось бы знать точную причину, почему сохранения испортились. Высказывайте свои варианты. Благо сохранения модульные и мне не обязательно проходить всю игру. Достаточно удалить то сохранение, что отвечает за таумкрафт. Кстати, в логи не записалось ничего, так как не было краша.
В третьих, как исправить ситуацию которая произошла сейчас? Только удалением этих файлов? Больше никак? Причём резервные копии с файлами таума не спасут. Последняя копия была сделана 4 дня назад и имеет нулевое развитие таума.
В четвёртых, как уменьшить промежуток для создание резервных копий сохранений? Он ведь это делает автоматически, и упаковывает сохранение с указанием даты.Оказалось, резервные сохранения были сделаны в моменты крашей. Когда новые моды неудачно ставил.Последний пункт особо важен. Мне просто необходимо каждый день, а лучше пол дня резервные копии создавать автоматически в майне.
-
Износ инструмента из тинкерса он, похоже, не распознаёт.
Это давно уже всем известно.
-
Во первых, тема не имеет абсолютно никакого смысла. Чисто померяться ... видеокартами.
Во вторых, в голосовании нет многих вариантов, что делает даже их бесполезными.
А ещё не хватает вопросов какая стоит винда, сколько времени грузится комп, насколько загружена память после запуска системы, какой браузер используете, сколько памяти выжирает хром, каким файлообменником вы пользуетесь, какая частота вращения кулера, сколько USB портов, какая мышь и не мышь, какой провод от мыши и есть ли он вообще, какая чувствительность мыши, сколько весит системный блок/корпус, сколько времени занимает отключение компа, какая ёмкость батареи, какое разрешение веб камеры, какой диапазон у микрофона и наушников.
-
1
-
-
Щас бы трындеть про форматы и не знать про APNG. Сотрите оффтоп, не относящийся к дровосекам.
У них нет поддержки в большинстве популярных браузеров, таких как хром, яндекс, опера. И это нормально?
И да, удалите оффтоп! (а то я свои сообщения не в курсе как удалять)
-
с бмп может и плохо было, но мне как-то без разницы
но переделал в png
Тут суть в том. Что если работаешь с сохранением изображений - разберись с форматами, в каком лучше сохранять.
Те кто рисуют знают, что как бы круто не был нарисован рисунок, с плавными градиентами, всё ровно он потеряет своё качество при просмотре со всяких сайтов вроде ВК. Потому что их сайты для экономии места сжимают в jpg. И это меня сильно бесит. Но если нужно найти исходник в png формате (если конечно он был в нём сохранён), то при просмотре изображений на сайтах есть кнопочка "открыть оригинал". Очень полезная кнопка опять же для тех, кто работает с изображениями. Ведь прямое сохранение изображения с сайтов сохраняет только сжатое jpg изображение. А это зло, эквивалентное goto. Никто не любит jpg.
-
смoтреть скрины сoхрaненные через PAINt, тa еще бoльА что в paint плохого? Ну мало там инструментов, создан для не профессионального использования. Но это не отменяет факта того, что там можно сохранять изображения в полноценном png формате. И использовать его как и другие не профессиональные редакторы. Хоть в нём и есть свои недостатки, например отсутствие прозрачности. Суть то не в редакторе, а в формате изображении, глубине цвета и умении пользоваться редакторами.
Сначала, тут были скрины в устаревшем формате bmp, ладно, но сейчас файлы сохранены в jpg. Формат со сжатием (потерей качества изображения)
Не намного и лучше стало. Я считаю, что все форматы растровых изображений, кроме png (ну и gif для анимаций) должны вымереть. Да даже тот же gif морально устарел. У него глубина цвета слишком низкая для 2к17 года. Пора бы уже внедрять новый аналог gif формата.
-
function povernut(side)
Как же круто в 2к17 году сохранять картинки в bmp
-
1
-

Реальная "Многопоточность"!
в Разное
Опубликовано:
Например, в доме у Васи стоит комп который отображает MineOS, а у Гендальфа тоже в доме комп и грузит он всеми любимую Redcontrol
А у Фродо есть комп который грузит OpenOS.
Что ж это выходит? Все эти компы являются частью мультипоточной системы??? Хотя они и не соединены между собой никак. По вашей логике это так?
Ведь при аналогичном примере:
Компы просто работают и просто сообщаются между собой. Где тут вы многопоточность увидели?