А вот такой еще вопрос. Конкурсы эти же, всего скорее, не с благотворительной целью организованы (ну, или не только с благотворительной), а еще чтобы штат команды расширить. Как по опыту предыдущих мероприятий, есть смысл в такой вербовке?
Конкурс хорош, спасибо!
Задача, главное, из общего ряда конкурсов выбивается, не напоминает о работе, многих заставила вспомнить школьные годы чудесные)). Ради такого не жалко было и с javascript разобраться. Очень странно, что так мало участников.
В общем, ждем новых!
Помогло, но не критично (с 3000 до 3700, без пропусков выдает больше шести, до победы далеко, но все же), пропусков много все равно, потери виртуализации, наверное. Видимо, надо было в расчете на это уменьшать глубину расчета хода или ставить костыль. Зато решительно не понятно, почему многие решения, наоборот, просели по очкам…
на все про все, то бишь на ход + отрисовку, как раз идет ровно 100 мс (99-101). Как в условии и написано: «Состояние игры обновляется раз в 100 мс».
НО опять же в режиме «высокая производительность». В экономии энергии (или сильном снижении фиксированной частоты процентов эдак до 20) прыгает 70 — 235…
'use strict'; /*jslint node:true*/
exports.play = function*(screen){
while (true) {
let time = Date.now();
yield ' ';
console.info(Date.now()-time);
}
};
exports.play = function*(screen){
let frame = 0;
while (true) {
let time = Date.now();
while (Date.now()- time < 70) {}
yield ' ';
frame++;
console.info(120-Math.floor(frame/10));
}
};
Предполагаем, что нам достанется 70 мс.
В режиме высокой производительности счетчик кадров решения совпадает со счетчиком управляющего скрипта.
В экономии энергии сразу начинает круто отставать. В сбалансированном отстает, но на небольшую величину.
windows 7, core i7 4770
Перебор только при охоте на бабочек, само собой смертельные ходы сокращают общий объем. Также предполагается, что для убийства каждую клетку нужно посетить не более 2 раз (сильно сокращает варианты топтания на месте). Но копию мира не делал, обошелся одним массивом мира и списком изменяемых клеток (кругляки и бабочки), изменения которых передаются на след. ход, а на возврате откатываются. Получилось быстрее копии мира на каждом ходу. Причем под конец в гонке забил на оптимизацию, можно было б сделать и больше.
На компе с аналогом тестового проца получилось 9… Но на javascript пишу вообще в первый раз, адова нетленка получилась и где-то сидит баг… иногда дохнет зараза по-глупому. Но второй раз овертайм не дадут ;) (:
Тысяча чертей! Что же могло к такому привести? ;)
Задача, главное, из общего ряда конкурсов выбивается, не напоминает о работе, многих заставила вспомнить школьные годы чудесные)). Ради такого не жалко было и с javascript разобраться. Очень странно, что так мало участников.
В общем, ждем новых!
на все про все, то бишь на ход + отрисовку, как раз идет ровно 100 мс (99-101). Как в условии и написано: «Состояние игры обновляется раз в 100 мс».
НО опять же в режиме «высокая производительность». В экономии энергии (или сильном снижении фиксированной частоты процентов эдак до 20) прыгает 70 — 235…
'use strict'; /*jslint node:true*/
exports.play = function*(screen){
while (true) {
let time = Date.now();
yield ' ';
console.info(Date.now()-time);
}
};
exports.play = function*(screen){
let frame = 0;
while (true) {
let time = Date.now();
while (Date.now()- time < 70) {}
yield ' ';
frame++;
console.info(120-Math.floor(frame/10));
}
};
Предполагаем, что нам достанется 70 мс.
В режиме высокой производительности счетчик кадров решения совпадает со счетчиком управляющего скрипта.
В экономии энергии сразу начинает круто отставать. В сбалансированном отстает, но на небольшую величину.
windows 7, core i7 4770
www.cpubenchmark.net/cpu.php?cpu=Intel+Core+i5-2400+%40+3.10GHz
www.cpubenchmark.net/cpu.php?cpu=Intel+Xeon+E5-2680+v2+%40+2.80GHz
Без пропусков разница больше чем в 2 раза,
Именно
www.podebrady.ru
На компе с аналогом тестового проца получилось 9… Но на javascript пишу вообще в первый раз, адова нетленка получилась и где-то сидит баг… иногда дохнет зараза по-глупому. Но второй раз овертайм не дадут ;) (: