Archive
New BDS Community Welcome Page
Today, I updated my old WelcomePage with new one from CodeCentral. The UI had different looks and feels. So I’ve added some links to the RSSFeed in order to retrieve contents from my favourites addresses. btw You can download it from CodeCentral: http://cc.borland.com/item.aspx?id=23971
here my old WelcomePage (click to enlarge)
and here my new one (click to enlarge):
Meningkatkan Proses Startup IDE
Sudah menjadi pengetahuan umum, proses loading Delphi 2005 terkenal cukup lama, bahkan boleh dibilang ‘membosankan’ bagi sebagian orang, selain itu Delphi 2005 juga dikenal sangat berat dan membutuhkan banyak resource CPU dan memori. Nah pada kesempatan ini, saya akan coba memaparkan beberapa langkah untuk merampingkan Delphi 2005 sehingga proses loading menjadi lebih cepat dan tentu saja lebih menghemat resource CPU dan memori. Adapun versi Delphi 2005 yang saya gunakan adalah versi Architect. Untuk versi lainnya, silahkan Anda sesuaikan sendiri.
Mengapa sangat Lambat ?
Sebelum melakukan beberapa langkah optimalisasi, terlebih dahulu harus diketahui penyebab mengapa proses starup membutuhkan waktu yang tidak sedikit. Ada beberapa penyebab utama yaitu:
Multi-Languages IDE
IDE Delphi 2005 merupakan gabungan dari 3 bahasa pemrograman, yaitu Delphi untuk platform Win32, Delphi untuk platform Microsoft .NET dan C# untuk platform Microsoft .NET. Faktor penggabungan inilah yang menyumbang banyak pemborosan resource. Dapat Anda simak pada gambar 1, semua bahasa pemrograman ikut di-load pada saat startup.
Memory Manager yang Sudah Kuno
Sejak pertama kali diluncurkan hingga Delphi 2005, Memory Manager internal yang digunakan masih tetap sama yaitu BorlandMM atau DelphiMM. Memory Manager memegang peranan yang sangat penting dalam pengaturan memori bagi setiap aplikasi. Memory Manager mengatur pembagian resource memori suatu aplikasi secara dinamis dan efisien. Tanpa Memory Manager, sebuah aplikasi tidak dapat membuat list, menyimpan dan menampilkan data dengan ukuran yang besar misalnya.
Walaupun telah mengalami beberapa perbaikan namun kinerja Memory Manager internal dari Borland masih kurang memuaskan, terlebih dengan munculnya Memory Manager dari pihak ketiga yaitu FastMM yang lebih stabil, cepat dan gratis.
Rutin Internal yang Kurang Efisien
Pada saat proses startup, IDE akan me-load unit yang telah dipilih, namun sayangnya proses load ini didahulu dengan pengecekan terhadap status unit tersebut, apakah sudah di-load apa belom, untuk mencegah terjadinya duplikasi unit yang di-load. Proses pengecekan ini dilakukan dengan iterasi terhadap semua unit yang telah di-load sebelumnya, sehingga terjadi proses pengecekan yang berulang – ulang.
Versi (SKU) Delphi
Versi SKU Delphi yang digunakan ikut andil dalam menyukseskan lambatnya proses startup. Hal ini terjadi karena setiap versi membawa kelengkapan fitur yang belum tentu sama. Kelengkapan fitur versi personal tentu saja berbeda dengan versi Architect. Semakin tinggi versi SKU yang digunakan maka semakin banyak fitur kelengkapan yang disertakan, misalnya Enterprise Core Objects (ECO), integrasi dengan produk Borland StarTeam, Borland Together, Caliber IDE dan sebagainya. Semakin banyak fitur yang di-load maka semakin memboroskan resource.
VCL yang Aktif
Secara default, IDE akan me-load semua Visual Component Library (VCL) yang telah ter-instal pada saat startup, baik VCL internal Delphi maupun VCL dari pihak ketiga. Semakin banyak komponen yang di-instal, maka semakin besar pula resource yang dibutuhkan. Terlebih apabila Anda menginstal komponen sejenis suite, yaitu paket komponen yang menyertakan banyak sekali kontrol visual seperti JEDI, RxLib, Orpheus, LMDTools, Eldos, InfoPower, SDLSuite dan sebagainya.
Gambar 1 : Loading komponen pada saat startup
Perlengkapan yang Harus Disiapkan
Setelah mengetahui penyebab lambatnya proses startup, maka kini Anda harus menyiapkan beberapa tool untuk mendukung optimalisasi proses startup, yaitu:
- Delphi Update 1, Delphi Update 2 dan Delphi Update 3
- Delphi Unofficial Update
- Delphi Patch Installer
- FastMM 4
- PatchRTL
- Delphi Setting Manager
Update Delphi secara resmi yang dikeluarkan oleh Borland. Anda dapat men-download-nya dari situs Borland, tentunya dengan user account pengguna Delphi 2005 yang telah terdaftar.
Update Delphi tidak resmi yang dikeluarkan oleh Allen Bauer, salah satu arsitek di Delphi. Anda dapat men-download-nya pada situs blog-nya di http://blogs.borland.com/abauer atau langsung ke alamat:
http://homepages.borland.com/abauer/vclide90.zip
http://homepages.borland.com/abauer/coreide90.zip
http://homepages.borland.com/abauer/boreditu.zipSelengkapnya mengenai file yang diupdate adalah:
boreditu.dll
Borland.Studio.Vcl.Design.dll
coreide90.bpl
coreid90.jdbg
designide90.bpl
designide90.jdbg
vclide90.bpl
vclide90.jdbg
Aplikasi kecil ini dibuat oleh Andreas Hausladen digunakan untuk mempermudah instalasi unofficial update. Anda dapat men-download-nya pada situsnya di http://andy.jgknet.de/misc/D2k5PatchInstaller.zip
Fast Memory Manager merupakan memory manager alternative yang digunakan untuk menggantikan memory manager internal dari Borland. Anda dapat men-donwload-nya pada http://fastmm.sourceforge.net
Digunakan untuk memangkas rutin internal Delphi yang kurang effisien sehingga dapat memangkas loading time Delphi Anda. Anda dapat men-download-nya pada bagian Example (CodeCentral) pada situs Borland.
Aplikasi kecil ini dibuat oleh Erwin Saputra, digunakan untuk mengatur personalisasi Delphi Anda dengan menyeleksi fitur yang ikut di-load pada saat startup Delphi. Anda dapat men-download-nya pada blog-nya di http://blogs.slcdug.org/esaputra atau di http://www.codeline.net
Hacking Time
Nah setelah mengetahui penyebab dan perlengkapan yang dibutuhkan, kini saatnya beraksi. Its hacking time . Langkah – langkah berikut mutlak Anda lakukan dengan tertib dan benar agar Anda memperoleh hasil yang maksimal.
Tahap pertama adalah Anda harus meng-upgrade Delphi Anda dengan menggunakan update resmi yang dikeluarkan oleh Borland. Anda harus melakukannya dengan urut, dari Update 1, Update 2 dan terakhir Update 3.
Sekedar informasi, Anda dapat melihat versi Delphi sebelum di-upgrade melalui menu Help -> About seperti terlihat pada gambar berikut:
Gambar 2 : Versi Delphi 2005 tanpa upgrade
Upgrade dengan Official Update 1
Gambar 3: Instalasi Update 1
Jalankan file setup untuk update 1 seperti Anda meng-instal aplikasi lainnya. Untuk memastikan proses update berjalan dengan baik, Anda dapat memeriksanya pada jendela About dan registry.
Gambar 4: Informasi versi Delphi 2005 setelah Update 1
Pada registry, Anda dapat memeriksa pada key HKLM\Software\Borland\BDS\3.0. Pada entry ProductVersion, pastikan nilainya 9.0.1, kemudian entry RegMergeLevel bernilai 1 dan entry UpdatePackInstalled bernilai 1.
Gambar 5: Informasi versi Delphi 2005 setelah Update 1 pada Registry
Upgrade dengan Official Update 2
Setelah instalasi Update 1 selesai, maka lanjutkanlah dengan instalasi Update 2. Proses instalasi sama seperti instalasi Update 1. Untuk memastikan proses update berjalan dengan baik, Anda dapat memeriksanya pada jendela About dan registry.
Gambar 6: Informasi versi Delphi 2005 setelah Update 2
Pada entry ProductVersion, pastikan nilainya 9.0.2, kemudian entry RegMergeLevel bernilai 2 dan entry UpdatePackInstalled bernilai 2.
Gambar 7: Informasi versi Delphi 2005 setelah Update 2 pada Registry
Upgrade dengan Official Update 3
Setelah instalasi Update 2 selesai, maka lanjutkanlah dengan instalasi Update 3. Proses instalasi sama seperti instalasi Update 1 dan 2. Untuk memastikan proses update berjalan dengan baik, Anda dapat memeriksanya pada jendela About dan registry.
Gambar 8: Informasi versi Delphi 2005 setelah Update 3
Pada entry ProductVersion, pastikan nilainya 9.0.3, kemudian entry RegMergeLevel bernilai 3 dan entry UpdatePackInstalled bernilai 3.
Gambar 9: Informasi versi Delphi 2005 setelah Update 3 pada Registry
Upgrade dengan Unofficial Update
Anda dapat melakukan upgrade Unofficial Update dengan dua cara, yaitu manual dan otomatis. Sebenarnya cara otomatis tidak sepenuhnya otomatis, ada beberapa langkah tambahan yang harus Anda lakukan untuk menyempurnakan upgrade, namun setidaknya dapat menghemat waktu Anda. Di sini saya akan menggunakan cara manual.
Jika Delphi 2005 masih berjalan, maka Delphi 2005 terlebih dahulu harus ditutup. Ekstrak file – file yang terdapat pada paket unofficial update ke folder bin pada folder Delphi 2005, pada kebanyakan kasus terletak pada C:\Program Files\Borland\BDS\3.0\Bin. Kemudian salin precompiled copy BorlandMM.dll dari arsip FastMM (FastMM427\Replacement BorlndMM DLL\Precompiled\for Delphi IDE\Performance) ke folder bin Delphi 2005.
Pada command prompt, arahkan prompt ke folder .NET SDK Anda, biasanya di C:\Program Files\Microsoft.NET\SDK\v1.1\Bin dan jalankan perintah di bawah ini:
sn -Vr Borland.Studio.Vcl.Design.dll
Sesuaikan path pada file Borland.Studio.Vcl.Design.dll sesuai dengan path Anda. Untuk lebih jelasnya simak gambar berikut:
Gambar10: Update assembly untuk platform .NET
Untuk memeriksa apakah upgrade ke unofiicial update berjalan dengan baik, Anda dapat memeriksanya melalui jendela About. Perhatikan bagian bawah jendela About, terdapat teks berwarna merah dengan label ‘Confidential Pre-release version’.
Gambar 11: Informasi versi Delphi 2005 setelah unofficial update
Pangkas Rutin Internal
Hack berikutnya adalah memangkas rutin internal yang kurang efisien dengan menggunakan aplikasi kecil PatchRTL.exe. Seperti biasa, tutup Delphi 2005 Anda. Salin file RTL90.BPL dari folder system windows ke folder bin Delphi 2005. kemudian pada command prompt, jalankan perintah:
PatchRTL RTL90.bpl
Gambar 12: Menggunakan PatchRTL
Personalisasi IDE Delphi
Hack berikutnya adalah melakukan personalisasi IDE Delphi 2005. personaliasi fitur IDE Delphi dan personalisasi paket komponen.
Personalisasi Fitur IDE
Personalisasi fitur IDE adalah memilih fitur – fitur IDE hanya yang dibutuhkan saja, dengan demikian fitur yang tidak dibutuhkan tidak ikut di-load sehingga dapat menghemat loading time dan resource memori. Untuk melakukannya, gunakan tool Delphi Setting Manager.
Gambar 13: Tampilan muka Delphi Setting Manager
Untuk membuat personalisasi baru berikut langkahnya:
-Pilih tab Delphi 2005;
-Klik tombol New;
Gambar 14: Tampilan pembuatan personalisasi
-Masukkan nama personalisasi pada kolom Setting Name;
-Pilih fitur yang ingin di-load pada saat startup pada kolom Templates dengan memberikan tanda cek pada kotak masing – masing fitur;
-Klik Ok untuk menyimpan personalisasi;
Gambar 15: Personalisasi tersimpan
Untuk menerapkan personalisasi yang telah dibuat, Anda harus menjalan Delphi melalui Delphi Setting Manager dengan meng-klik tombol Run Delphi. Jika Anda menjalankan Delphi langsung dari Start Menu, maka personalisasi yang telah dibuat tidak akan dijalankan.
Perhatikan pada saat proses startup Delphi yang telah dipersonalisasi dan bandingkan dengan proses startup Delphi tanpa personalisasi, Anda akan memperoleh perbedaan dalam hal status loading, kecepatan proses loading dan struktur menu pada IDE.
Gambar 16: Hanya fitur yang diperlukan saja yang di-load
Personalisasi Paket Komponen
Hack selanjutnya adalah memilih paket komponen yang di-load pada saat startup. Untuk itu Anda harus menyimpan setting-nya pada Default Options. Langkah – langkahnya adalah sebagai berikut:
-Pada IDE Delphi, tutup semua project yang ada (File -> Close All);
-Pilih menu Project -> Default Options;
-Pilih personalisasi platform yang Anda inginkan, untuk win32 pilih Delphi for Win32, untuk .NET pilih Delphi for .NET;
-Pada jendela Default Project Options, pilih Packages;
-Perhatikan kolom Design packages, di dalam nya termuat paket – paket yang di-load pada IDE;
Gambar 17: Daftar komponen yang di-load pada IDE
-Kemudian pilih hanya komponen yang sering Anda gunakan dengan cara memberikan tanda cek komponen tersebut dan melepas komponen yang jarang Anda gunakan dengan menghilangkan tanda cek pada komponen tersebut;
Gambar 18: Pilih hanya paket yang sering Anda gunakan
-Klik Ok untuk menyimpan perubahan.
Ketika Anda membuat project baru, maka package yg di-load adalah setting default yang telah Anda tetapkan sebelumnya. Nah ketika Anda membutuhkan komponen yang tidak ada pada daftar, maka Anda tinggal mengaktifkan package yang sesuai melalui jendela Package pada menu Project -> Option.
Anda juga bisa memodifikasi package option pada project yang telah Anda buat, jadi Anda dapat mengurangi load time project Anda. Jangan lupa untuk menyimpan konfigurasi yang telah Anda ubah sebelumnya pada file project Anda (file .dpr atau .bdsproj atau .bdsgroup).
Penutup
Dengan menerapkan semua teknik – teknik yang telah dipaparkan di atas, maka proses startup IDE dapat dipangkas secara signifikan. Pada sistem yang saya gunakan, saya dapat mereduksi proses load time hingga kurang dari setengah menit saja. Semoga juga berlaku bagi Anda. Sampai jumpa di Hacking Delphi edisi lainnya.