Перейти к содержимому
RU
Играть

Форум

HTML5: Решето!


Fizzika

Рекомендованные сообщения

2 минуты назад, HACTEHKA_KX сказал:

Но вот переодевание в битве сломалось, после выхода из гаража 3d перестает отрисовываться

Не воспроизводится, да и лобби шалить не начинает на этом ограничении

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

  • Ответы 120
  • Создано
  • Последний ответ

Топовые авторы в этой теме

6 минут назад, Serene сказал:

Не воспроизводится, да и лобби шалить не начинает на этом ограничении

А ты браузер полностью закрывала? Похоже, ограничение работает по инстансам, а не по окнам.

 

Да, одного контекста для переодевания мало. :heh:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 минуту назад, Niced сказал:

А ты браузер полностью закрывала? Похоже, ограничение работает по инстансам, а не по окнам.

Я на "скачанном клиенте" это всё делаю )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

3 минуты назад, Serene сказал:

Я на "скачанном клиенте" это всё делаю )

Значит, там с этим лучше, повезло. В Хроме правда число контекстов ограничивает количество входов в гараж без серого экрана. 2 контекста - одно переодевание.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

23 минуты назад, Serene сказал:

Я на "скачанном клиенте" это всё делаю )

Нет, не лучше. У меня так же не работает переодевание.

 

Ты точно с ограничением запускаешь? Дурацкий вопрос, но все-таки...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

3 минуты назад, Niced сказал:

Нет, не лучше

Возможно, но немного
У меня в Хроме вырубается сразу после первого выхода из гаража, при лимите в 5 контекстов, а на клиенте только после 3-х выходов при тех же пяти

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

12 минуты назад, Niced сказал:

Ты точно с ограничением запускаешь? Дурацкий вопрос, но все-таки...

Вроде как есть разница в потреблении с параметром и без, поэтому предполагаю что с ограничением %)

Я ещё не тестила в ММ эту штуку, только в ПРО. Доберусь вечерком до этого, там и посмотрим

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

45 минут назад, Serene сказал:

Я ещё не тестила в ММ эту штуку, только в ПРО. Доберусь вечерком до этого, там и посмотрим

У меня в ПРО так же. Блин, у тебя какой-то волшебный компьютер. :D

 

Кстати. Игра использует сглаживание MSAA и его качество можно снизить аргументом --webgl-msaa-sample-count=2, например. Влияет на потребление видеопамяти. В моем случае так же помогает избежать критов - жор останавливается где-то на 4.5 Гб.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сглаживание FXAA от NVIDIA включается для скачиваемого клиента и вполне сносно работает, используя гораздо меньше видеопамяти, чем встроенное в игру. Еще один способ избавиться от критов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я здесь забацал вариант для самых отчаянных. Нужно установить расширение, которое позволяет автоматически запускать произвольный скрипт на заданной странице (например, "User JavaScript and CSS"). Там создаем правило для tankionline.com и в поле JS пишем вот это:

 

Скрытый текст

HTMLCanvasElement.prototype.getContext_ = HTMLCanvasElement.prototype.getContext;

var storedContexts = [];

HTMLCanvasElement.prototype.getContext = function(contextType, contextAttributes) {

    var newContext = this.getContext_(contextType, contextAttributes);

    if (contextType == "webgl" || contextType == "webgl2") {

        newContext.numOfCalls = 0; newContext.lastNumOfCalls = 0;
        newContext.useProgram = function(program) { this.numOfCalls++;
            return this.__proto__.useProgram.call(this, program); };

        storedContexts = storedContexts.filter(function(context) { if(context.numOfCalls == context.lastNumOfCalls)
            { if(!context.isContextLost()) { context.getExtension("WEBGL_lose_context").loseContext(); }
            return false; } else { context.lastNumOfCalls = context.numOfCalls; return true; } });

        storedContexts.push(newContext);
    }

    return newContext;
};

 

Для меня работает безотказно. Больше трех контекстов в памяти не держит. Если не заходить в гараж в битве - всего 1-2 контекста. Скрипт делает то же самое, что и ограничение числа контекстов, только не ломает переодевалку.

 

Изменено пользователем Niced

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

11 минуту назад, Niced сказал:

Для меня работает безотказно. Больше трех контекстов в памяти не держит.

А чем это отличается от физического ограничения браузера на 3 контекста?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

4 минуты назад, Serene сказал:

А чем это отличается от физического ограничения браузера на 3 контекста?

Тем, что нормально работает переодевалка. :heh: Не знаю, почему у тебя она и так работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

44 минуты назад, Serene сказал:

А чем это отличается от физического ограничения браузера на 3 контекста?

А, еще тем, что если не заходить в гараж в битве - держит всего 2 контекста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

8 minutes ago, Niced said:

А, еще тем, что

Ну и ещё разработчики могут сами это заюзать в своём коде :rolleyes:

Пойду протестирую, чтоли, сначала просто с флажком через командную строку, потом через скрипт

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поставил 1 в качестве параметра.

Гараж работает, но память при этом всё равно течёт. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 минуту назад, Fizzika сказал:

Поставил 1 в качестве параметра.

Гараж работает, но память при этом всё равно течёт. 

Значит ограничение не сработало. :heh: В Хроме оно почему-то не всегда заводится. Нужно завершить все процессы браузера, а затем запускать с параметром.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

9 minutes ago, Niced said:

Нужно завершить все процессы браузера

Да знаю про это, так аналогично остальные флаги работают, появляются лишь после прибития всех процессов и запуска нового инстанса. Я процессы все хромиумные прибил до запуска, естественно.  В chrome://version сам флаг есть, но какого-то фига не работает. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

6 минут назад, Fizzika сказал:

В chrome://version сам флаг есть, но какого-то фига не работает. 

Не знаю. Почему-то иногда не срабатывает, у меня тоже бывает. Можно несколько раз потыкать. :heh:

 

25 минут назад, Fizzika сказал:

Гараж работает, но память при этом всё равно течёт. 

Гараж в битве? А то, может, я неправильно понял.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

7 minutes ago, Niced said:

Гараж в битве?

Угу

 

С твоим скриптом кстати всё заработало, потребление памяти стабильное . Я тут чо подумал - можно же сделать враппер для  функций создания/освобождения контекста и писать что-то в консоль. Можно будет посмотреть, что ТОшка вобще создаёт/освобождает 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

15 минут назад, Fizzika сказал:

Я тут чо подумал - можно же сделать враппер для  функций создания/освобождения контекста и писать что-то в консоль.

"Освобождения" - это здесь лишнее. :heh: Игра, судя по всему, вообще мало что освобождает.

 

P. S. Рили? И это они не могли пофиксить полгода даже таким костыльным способом?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

17 minutes ago, Niced said:

"Освобождения" - это здесь лишнее. :heh: Игра, судя по всему, вообще мало что освобождает.

Не, ну чисто ради интереса) 

На запрос создания нового контекста я прям в твоём скрипте повесил логгер (как и на принудительное освобождение). И вот чо получается: 

 

1) Заход в лобби. Запрос нового контекста. 

2) Клик кнопки "Играть". До прогрузки на мапу -  2 запроса нового контекста. В момент последнего запроса один контекст удалён из пула

3) Выход из битвы. Снова запрос одного нового контекста, снова один удалён из пула. 

4) Снова клик по кнопке. На этот раз один запрос без освобождения (а почему в предыдущий раз было два?)

5) Вход в гараж. Два запроса контекста и два освобождения в пуле. 

 

Короче, скрипт работает как часы. Ждём его в апстриме :rolleyes:

 

17 minutes ago, Niced said:

P. S. Рили? И это они не могли пофиксить полгода даже таким костыльным способом?

Я тут вспомнил вот эту статью на хабре. Тут, конечно, всё решилось не настолько эпичным образом, но всё равно круто :rolleyes:

Изменено пользователем Fizzika

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 часа назад, Fizzika сказал:

 

Ладно, контексты контекстами, меня еще волнует сглаживание. MSAA - по-моему, это немного перебор. С 4K монитором игра с трудом влезает даже в "рекомендуемые" системные требования, даже с одним контекстом. И критовать все равно будет у тех, у кого высокое разрешение и "мало" видеопамяти. К счастью, существует чудесная альтернатива - FXAA.

 

Изменено пользователем Niced

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

9 hours ago, Niced said:

И критовать все равно будет у тех, у кого высокое разрешение и "мало" видеопамяти

У тех, у кого мало видеопамяти, тошка кушает оперативку (ну вот как у меня с 2гб ноутбучной затычкой)

 

P.S. Если у чувака 4к монитор, то как-то странно будет в приложении к нему видеть слабую видеокарту :rolleyes:

Изменено пользователем Fizzika

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

34 минуты назад, Fizzika сказал:

P.S. Если у чувака 4к монитор, то как-то странно будет в приложении к нему видеть слабую видеокарту :rolleyes:

Ну да, сейчас даже в ноутбуках со слабыми видеокартами ставят 4 Гб непонятно зачем. Было непонятно. Теперь понятно - для ТО. :heh:

 

Изменено пользователем Niced

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Гость
Эта тема закрыта для публикации сообщений.
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×
×
  • Создать...