Macbook M1 işlemcili cihazımda UYAP UDF Editör'ün Rosetta 2 üzerinden çalışırken aşırı yavaşlaması ve kelimeleri geç yazması sorununu nasıl çözebilirim?
2 Cevap
Sayın meslektaşımız, Apple Silicon mimarili (M1, M2, M3 veya M4 çipli) Mac cihazlarda UYAP Doküman Editörü'nün (UDF) harfleri gecikmeli yazması, kaydırma (scroll) yaparken kilitlenmesi ve işlemciyi aşırı ısıtması, hukuk camiasında Mac kullanan avukatların en büyük şikayetlerinden biridir. Bu performans kaybının nedeni macOS donanımı değil, çift katmanlı sanallaştırma darboğazı ve grafik render uyumsuzluğudur.
Hatanın Teknik Kök Nedeni:
Adalet Bakanlığı'nın resmi web sitesinden indirilen macOS .dmg paketi, içerisinde Intel (x86_64) mimarisine göre derlenmiş eski bir Java Runtime Environment (JRE 8) ile birlikte gelir. M1 işlemcili bir Mac'te bu uygulama açıldığında:
- Çift Emülasyon Cezası: Rosetta 2, Intel makine kodunu anlık olarak ARM64 komut setine çevirirken; Java Sanal Makinesi (JVM) de UDF'nin Java bytecode kodlarını JIT (Just-In-Time) derleyici ile x86 komutlarına çevirmeye çalışır. Bu durum korkunç bir CPU yükü oluşturur.
- OpenGL / Metal Grafik Uyuşmazlığı: Java Swing grafik arayüz motoru macOS üzerinde eski OpenGL pipeline'ını kullanır. Rosetta 2 altında OpenGL çağrıları Apple'ın modern Metal grafik hızlandırıcısına düzgün aktarılamaz ve her bir klavye tuş vuruşunda tüm metin paneli yazılımsal olarak tekrar çizilerek saniyelik gecikmelere (input lag) neden olur.
UDF Editör'ü Yerel ARM64 Mimarisinde Akıcı Çalıştırma Adımları:
UDF Editör aslında işletim sisteminden bağımsız saf bir Java arşividir (editor.jar). Tek yapmamız gereken, Rosetta 2'yi tamamen baypas edip Apple Silicon için özel optimize edilmiş yerel (Native ARM64) bir Java 8 / 11 çalışma ortamı kurmaktır:
1. Apple Silicon Uyumlu Yerel OpenJDK (Azul Zulu ARM64) Kurulumu
- İnternet tarayıcınızdan Azul Systems web sitesine gidin (
azul.com/downloads) veya Homebrew terminal paket yöneticisini kullanın. - Java 8 (LTS) sürümünü, İşletim Sistemi olarak macOS ve Mimari olarak mutlaka ARM 64-bit seçeneğini belirleyerek
.dmgpaketini indirin ve kurun. - Terminal üzerinden kurmak isterseniz şu komutu çalıştırmanız yeterlidir:
brew install --cask zulu8
2. UYAP Editor JAR Dosyasını Yerel Java ile Eşleştirin
- Uygulamalar (Applications) klasöründeki mevcut UYAP Editor.app üzerine sağ tıklayıp Paket İçeriğini Göster (Show Package Contents) deyin.
Contents/Javaklasörüne gidin; burada yer alan editor.jar (veyauyap.jar) dosyasının tam yolunu not edin (Genellikle/Applications/UYAP Editor.app/Contents/Java/editor.jar).
3. Yerel Metal Grafik Hızlandırıcılı Başlatıcı Oluşturun
Mac'inizde Betik Düzenleyici (Script Editor) veya Automator uygulamasını açın. Yeni bir 'Uygulama' oluşturup 'Kabuk Betiği Çalıştır' (Run Shell Script) eylemini ekleyin ve içine şu komutu yapıştırın:
/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/bin/java -Xms512m -Xmx2048m -Dsun.java2d.metal=true -Dapple.laf.useScreenMenuBar=true -Dfile.encoding=UTF-8 -jar "/Applications/UYAP Editor.app/Contents/Java/editor.jar"
- Bu komut, UDF Editör'ü doğrudan Apple M1 çekirdeklerinde çalıştırır, 2 GB RAM tahsis eder ve Apple Metal grafik hızlandırmasını açar.
- Oluşturduğunuz bu otomasyonu 'UYAP Yerel Editor' adıyla Uygulamalar klasörünüze kaydedin ve dock çubuğunuza sabitleyin.
Bu yapılandırmanın ardından UDF Editör M1 Mac'inizde 1 saniye içinde açılacak, klavyeden yazma gecikmesi tamamen sıfırlanacak ve 50 sayfalık dilekçelerde dahi sıfır donma ile kusursuz bir performans elde edilecektir.
Meslektaşlarımın dikkatine: Eğer yerel Java kurulumundan sonra e-imza atmak isterseniz, TÜBİTAK Kamu SM veya e-GÜVEN'in macOS için yayınladığı ARM64 uyumlu libakisp11.dylib kütüphanesinin sistemde kurulu olduğundan emin olun. Aksi halde yerel Java 64-bit ARM modundayken eski 32/x86_64 dylib sürücüsünü yükleyemez ve e-imza aşamasında kartı göremez. E-imza sürücünüzün de Apple Silicon uyumlu güncel sürümünü kurmalısınız.