Nano Hash - криптовалюты, майнинг, программирование

HTML Canvas медленный в Safari, сбой в Firefox

Это страница

Я делаю вводную страницу на свой сайт, и в

Firefox: не отвечающий скрипт / сайт падает

Safari: скрипт очень медленный, и узлы двигаются очень медленно

Chrome: по большей части работает, когда вы вводите URL-адрес, но когда вы заходите на страницу по ссылке, скрипт иногда НЕ ЗАГРУЖАЕТСЯ, и я получаю сообщение «Не удается прочитать getContext of null».

Спасибо за любой отзыв. Я только начал веб-программирование, и советы очень ценятся


Ответы:


1

Большая часть проблемы связана с shadowblur.

Взгляните на этот jsperf. Производительность очень и очень плохая.

23.09.2014
  • Хм. Я закомментировал все теневые эффекты, но у меня все еще есть довольно серьезная проблема с задержкой в ​​​​firefox. 23.09.2014
  • Я думаю, это потому, что вы рисуете много линий на большом холсте. Используйте меньше узлов или уменьшите DistanceThreshold. И это может помочь закрыть ваши пути. Кроме того, проверьте это: html5rocks.com/en/tutorials/canvas/performance 23.09.2014
  • Спасибо за ваши ответы, я ценю их. Я пошел вперед и сделал именно это. Уменьшение всего определенно имело огромное значение в производительности. Но есть ли огромный недостаток в том, как я пишу свой код? Или это просто несоответствие возможностей браузера? Хм... после просмотра этого сайта: jenniferdewalt.com/electro_bounce/page. Похоже, это мой код.. 23.09.2014
  • По моему опыту, firefox обычно работает не так хорошо, как chrome, по скорости. Знакомы ли вы с инструментами разработчика вашего браузера? Это поможет вам профилировать ваш код. Например, профилирование вашего кода показывает, что stroke, похоже, занимает большую часть времени. 23.09.2014
  • Кроме того, расстояние между узлами проверяется за O(n^2), что можно улучшить. В этом случае, однако, я не знаю, будет ли какая-либо из альтернатив действительно стоящей. 23.09.2014
  • Я действительно новичок в веб-разработке, поэтому я не очень хорошо знаком. Не могли бы вы объяснить инструменты разработчика? 23.09.2014
  • Пора спать, но: developer.chrome.com/devtools и discover-devtools.codeschool.com (второй, вероятно, немного устарел с новейшим хромом, но все равно должен быть хорош общий) 23.09.2014
  • Звучит отлично. Собираюсь продолжать взламывать его. Благодарим за помощь 23.09.2014
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

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

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..