Отключите все лишнее на целевой странице если она одна, это реально сделать - например скрипты всяких фейсбуков, сторонней аналитики и так далее. Обычно сервесы используют много сторонних скриптов, которые не влияют на работу сайта, но сильно нагружают проц.
Смотрите как идет распределение нагрузки - возможно оно не сплашное, а пиками - тогда можно попробовать запускать потоки более равномерно. Чтоб избегать этих пиков.
Чаще всего можно отрисовку снизить вплоть до 10 (ну 20) .... На загрузку проца, это как раз сильно влияет.
Если сервер свой и без видюхи, то стоит поставить в него видюху.
50 в нынешних условиях для баса с браузером, достаточно много. Можно попробовать разбить на несколько копий баса по 25 например.
Можно использовать рам диск для работы с профилями - но это уже продвинутый уровень.
3 случайные числа и чтоб не совпадали
-
-
@verhov вот так будет не проще? Цифры будет меняться, пока все 3 не станут разными.

[[N1]]==[[N2]]||[[N1]]==[[N3]]||[[N2]]==[[N3]]VAR_N1 = Math.floor(Math.random() * (parseInt(9) - parseInt(1) + 1)) + parseInt(1) VAR_N2 = Math.floor(Math.random() * (parseInt(9) - parseInt(1) + 1)) + parseInt(1) VAR_N3 = Math.floor(Math.random() * (parseInt(9) - parseInt(1) + 1)) + parseInt(1) -
@verhov said in 3 случайные числа и чтоб не совпадали:
И в догонку, после надо тыркнуть в трех разных местах, (согласно случайным числам), как проще красивей сделать? городить кучу IF не очень хочется.
Идеально было бы сделать 9 функций типа ТЫРК1..9 и вызов потом ТЫРК[[RNx]]
Так пройдет?Да, можете в цикле сделать. Первый цикл будет идти и нажмет N1, второй N2 и т.д.
-
@uraabk said in 3 случайные числа и чтоб не совпадали:
Да, можете в цикле сделать. Первый цикл будет идти и нажмет N1, второй N2 и т.д.
что то не дает менять имя функции с добавлением переменной. решил копипастой и 27 ифов нарисовать, зато работает :))))
-
Хм, задача усложняется, надо случайных чисел 9 штук и потом тыркать от 1 до 8/9, если облом, то прекращать поток, если нет то еще тыркать и так пока не будет профит или кончатся попытки.
Наверно вышеуказанным методом будет проще сделать. все в одно условие можно заткнуть -
@verhov said in 3 случайные числа и чтоб не совпадали:
Хм, задача усложняется, надо случайных чисел 9 штук и потом тыркать от 1 до 8/9, если облом, то прекращать поток, если нет то еще тыркать и так пока не будет профит или кончатся попытки.
Наверно вышеуказанным методом будет проще сделать. все в одно условие можно заткнутьМожет вы объясните саму ситуацию? Наверняка есть проще способ решить задачу.
-
Вообще, эту задачу наверняка как-то можно решить красивым программистским методом. Но в басе есть настолько удобный инструмент для этого, что не хочется использовать что-то другое.
Вы можете создать ресурс, в котором будет нужный набор чисел и просто вызвать в переменные этот ресурс нужное число раз. Числа всегда будут разные.
А для создания рандомности в настройках ресурса не забудьте добавить галочку Мешать строки. Чтобы "обнулить" результат текущей итерации выбора чисел и повторить ее, используйте экшн Перегрузить ресурс.
Вот и всё. -
@fox said in 3 случайные числа и чтоб не совпадали:
Может вы объясните саму ситуацию? Наверняка есть проще способ решить задачу.
автоматизация игры в ленте :) там каждые сутки можно зайти и потыркать 9 кнопок, игра на канвасе, приходится по координатам тыркать. может на первом тырке получится облом, а может на 5, но на 8 точно чтото попадется.
Для игры нужны номера, при массовости можно что то хорошее за 1 рубль получить@xclsv said in 3 случайные числа и чтоб не совпадали:
Вы можете создать ресурс, в котором будет нужный набор чисел и просто вызвать в переменные этот ресурс нужное число раз. Числа всегда будут разные.
А для создания рандомности в настройках ресурса не забудьте добавить галочку Мешать строки. Чтобы "обнулить" результат текущей итерации выбора чисел и повторить ее, используйте экшн Перегрузить ресурс.вечером попробую, точно текстовик с колонкой 1-9
-
@verhov
Вы можете также реализовать это через создание списка из цифр от 1 до 9.
Берете случайное значение и тут же удаляете оттуда элемент по этому же значению. Следующий взятый элемент не будет равен предыдущему в этом случае.
Для повторения итерации просто возвращаетесь по метке к созданию списка, либо оборачиваете всю конструкцию в функцию и вызываете ее в нужный момент. С метками кажется изящнее, хоть и не люблю их. -
@xclsv said in 3 случайные числа и чтоб не совпадали:
Для повторения итерации просто возвращаетесь по метке к созданию списка, либо оборачиваете всю конструкцию в функцию и вызываете ее в нужный момент. С метками кажется изящнее, хоть и не люблю их.
так поток закончится и завершится, соответственно при вызове потока для другого номера список будет заполнятся заново, так? Заполнение списка в самом начале сделать. Список(0,,,,8) значениями 1,,,9
Как бы еще тыркание сделать, куча ифов совсем не нравится. Хотя, for 1-9, и 9 ифов, случайное значение из списка сравниваем и вызываем функцию тырк1-9.
Вечером попробую сгородить. -
@verhov
В первом сообщении Вы ничего не сообщали про многопоточность и условия работы с ней.
Безусловно, если разные числа одного списка нужны в разных потоках, то лучше делать через ресурс. Есть ещё какие-то глобальные списки, но не уверен, что это будет хорошим решением. -
@xclsv said in 3 случайные числа и чтоб не совпадали:
В первом сообщении Вы ничего не сообщали про многопоточность и условия работы с ней.
да как то это по умолчания предполагается :))))
@xclsv said in 3 случайные числа и чтоб не совпадали:
Безусловно, если разные числа одного списка нужны в разных потоках, то лучше делать через ресурс. Есть ещё какие-то глобальные списки, но не уверен, что это будет хорошим решением.
Хм, а разве созданный список в текущем потоке будет виден в других потоках?
-
@verhov said in 3 случайные числа и чтоб не совпадали:
да как то это по умолчания предполагается :))))
Ничего, что не написано в ТЗ по умолчанию не предполагается.
@verhov said in 3 случайные числа и чтоб не совпадали:
Хм, а разве созданный список в текущем потоке будет виден в других потоках?
Глобальные списки должны быть видны. Также как и глобальные переменные.
Эксперт в этом вопросе господин @senerg. -
@verhov said in 3 случайные числа и чтоб не совпадали:
а зачем мне глобальный список? мне то случайные выпадения нужны в рамках одного потока.
Прошу прощения. Неправильно понял Вас в этом сообщении:
@verhov said in 3 случайные числа и чтоб не совпадали:
так поток закончится и завершится, соответственно при вызове потока для другого номера список будет заполнятся заново, так? Заполнение списка в самом начале сделать. Список(0,,,,8) значениями 1,,,9
Да. В рамках одного потока можно использовать обычный список. Всё должно работать.
-
@verhov Лень было читать всю вашу переписку. Вот на коленке написал генератор, будет перебирать целые числа в заданном диапазоне, когда доступные значения закончатся, то очистит пул использованных значений и начнет заново
randomNumber = function(a,b) { this.was_used = [], this.a = a, this.b = b }; randomNumber.prototype.get = function(){ while(true){ var randomNum = Math.floor(Math.random() * (this.b-this.a + 1)) + parseInt(this.a); if(this.was_used.indexOf(randomNum)< 0) { this.was_used.push(randomNum); return randomNum; }; if(this.was_used.length == this.b - this.a + 1) this.clear(); //Если кончились доступные знаяения обнуляем }; }; randomNumber.prototype.clear =function(){ //Очистка использованных значений this.was_used = []; }; randNum = new randomNumber(1,10) //Создает новый генератор чисел в заданном диапазоне log( randNum.get() ); -
@verhov said in 3 случайные числа и чтоб не совпадали:
автоматизация игры в ленте :) там каждые сутки можно зайти и потыркать 9 кнопок, игра на канвасе, приходится по координатам тыркать. может на первом тырке получится облом, а может на 5, но на 8 точно чтото попадется.
Так может сделать фотку кнопок и безошибочно тыкать сразу по кнопкам, место координат?