対策
対策1
mplab_ide.conf の default_options にフラグ追加・修正(要 sudo権限)します。
対象ファイル:
/Applications/microchip/mplabx/v6.30/MPLAB X IDE v6.30.app/Contents/Resources/mplab_ide/etc/mplab_ide.conf
変更内容:
| (a) 先頭に追加 |
-J-Dapple.laf.useScreenMenuBar=false |
← 主因対策 |
| (b) 既存値を変更 |
-J-Dplugin.manager.check.interval=EVERY_STARTUP |
|
|
→ -J-Dplugin.manager.check.interval=NEVER |
← 更新待ち解消 |
各変更点の意味:
(a) apple.laf.useScreenMenuBar
- macOS 特有の「画面上部のシステムメニューバー」に Java アプリのメニューを載せる連携機能の ON/OFF を決めるフラグです。true だとメニューが画面最上部に表示されます。
- 既定は有効(true)。だが Java 8 + macOS Tahoe 25 ではこのスクリーンメニュー バー構築が非常に重く、起動時に UI スレッド(EDT)が約8.4秒ブロックしてレインボール化していました(ログの "Too long AWTTask ... Menu/File" が該当)。
- false にすると、メニューを各ウィンドウ内に描画する方式へ切り替わり、この 重い処理を回避できる。今回のビーチボールの主因に対する直接的な対策です。
- 副作用: メニューバーが画面最上部ではなく MPLAB X のウィンドウ内に表示される事になります(Windowsのようにな)。ようになります(機能上の支障はなく、見た目・操作位置が変わるだけ)。
(b) plugin.manager.check.interval
- MPLAB X(NetBeans 基盤)がプラグイン/更新の有無を Microchip
サーバへ確認しにサーバへ確認する「頻度」を決める設定です。 行く「頻度」を決める設定。 - 変更前 EVERY_STARTUP =
起動するたびに毎回オンラインで更新チェックを実行。 起動するたびに毎回オンラインで更新チェックを実行します。オフラインや回線が遅いと、
ここでサーバ応答を待たされ起動が固まる一因に なっていた(ここでサーバ応答を待たされ起動が固まる一因になっていました(ログの UnknownHostException: ww1.microchip.com 等が該当)。
- 変更後 NEVER =
起動時の自動更新チェックを行わない。これによりネットワーク起動時の自動更新チェックを実施しなくなります。これによりネットワーク待ちによる起動遅延・ハングを回避します。 待ちによる起動遅延・ハングを回避する。 - 副作用:
更新が自動通知されなくなる。アップデート確認は必要時に手動で Tools(更新が自動通知されなくなります。アップデート確認は必要時に手動でTools(ツール) > Plugins(プラグイン)
から実行すればよい。から実行する事になります。