Почему Arduino IDE долго открывается?
У меня есть Arduino IDE версии 1.8.10 (Windows 10 x64, 8 ГБ ОЗУ, i5-7200 @2,5 ГГц) на сетевом диске, подключенном к D:, в проводной сети со скоростью 100 Мбит и на быстром файловом сервере.
Если я перейду к общей сетевой папке и запущу arduino.exe, для появления IDE потребуется не менее 2 минут.
Это кажется совершенно неразумным, учитывая, что весь файл arduino.exe весит всего 395 КБ. Скорее всего, IDE чего-то ждет, пока не истечет время ожидания, прежде чем окончательно загрузить IDE.
С чем это может быть связано и как это диагностировать?
Кроме того, кажется, что процесс компиляции занимает больше времени, чем должен, даже для программ, которые не используют внешние библиотеки и очень короткие.
@Ryan Griggs, 👍5
Обсуждение1 ответ
Простой ответ: "библиотеки".
Каждый раз, когда вы запускаете приложение, анализируются все файлы в папке вашей библиотеки.
И это делается не через вашу ОС, а через виртуальную машину Java.
Так что это не просто медленно, это очень медленно! Так как ваш антивирус, вероятно, также будет проверять каждый файл.
После того, как все файлы были прочитаны (возможно, 1/2 времени, затрачиваемого вашим запуском Arduino), все ваши папки скетчей анализируются.
В конце загружаются устройства Windows и специальные библиотеки Arduino.
В моей Arduino IDE (установленной локально) при каждом запуске Arduino IDE проверяет около 300 000 файлов. Мне нужно до 20 секунд, чтобы загрузить все, прежде чем я смогу использовать IDE.
Что вы можете сделать?
Основа
- не засорять папку с неиспользуемыми библиотеками
- НИКОГДА не помещайте какую-либо документацию или файлы, отличные от Arduino, в папку скетча, так как все они анализируются средой IDE.
- отключить антивирус для папок:
- Ардуино
- библиотеки
- набросок
Дополнительно
Если вы всегда открываете один и тот же проект, вы можете, например, отредактировать файл "preferences.txt".
Если вы удалите некоторые параметры из файла preferences.txt, вы сможете запустить свою IDE намного быстрее. Я создал приложение, которое запускает вашу среду разработки Arduino с персональными настройками:
https://github.com/Adrianotiger/ArduinoIDE_Launcher
Это приложение может удалить некоторые настройки, например:
- менеджер плат
- последние* настройки
- последние наброски
при запуске Arduino, чтобы он запускался быстрее. Но если вы установите предпочтение sketchbook.path
, вы сможете запускать свою Arduino IDE в 3-4 раза быстрее. Просто поместите папку с библиотеками вашего проекта, и вы сможете запустить IDE намного быстрее.
- C++ против языка Arduino?
- avrdude ser_open() can't set com-state
- Как читать и записывать EEPROM в ESP8266
- Float печатается только 2 десятичных знака после запятой
- устаревшее преобразование из строковой константы в 'char*'
- Запрограммировать ATMega328P и использовать его без платы Arduino.
- Разница между print() и println()
- Как исправить: Invalid conversion from 'const char*' to 'char*' [-fpermissive]
загрузите sysinternals «монитор процессов» и запустите его ... он будет регистрировать все ... посмотрите, что делает Arduino IDE ... https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite, @jsotola
Используемые и вызываемые библиотеки и приложения достигают значительных размеров. Как сказал @jsotola, используйте монитор процессов Sysinternal или диспетчер задач для просмотра этих размеров., @the busybee
arduino.exe — это всего лишь лаунчер. он запускает виртуальную машину Java. Arduino IDE написана на Java. антивирусная программа может замедлить компиляцию из-за большого количества открытых процессов и файлов, @Juraj
Вы пробовали установить все на локальный диск? (включая все библиотеки)?, @Michel Keijzers
и используемая Java поставляется вместе с установкой IDE, поэтому на сетевом диске тоже, @Juraj