メインコンテンツへスキップ

対策

対策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(プラグイン) から実行すればよい。から実行する事になります。