- Katılım
- 6 Mayıs 2022
- Konular
- 48,280
- Mesajlar
- 48,590
- Tepkime puanı
- 75
- M2 Yaşı
- 3 yıl 11 ay 10 gün
- Trophy Puan
- 48
- M2 Yang
- 488,769
1. Build Cache (ccache alternatifi)
Visual Studio için birebir ccache görevi gören en popüler araç şudur:- <li data-xf-list-type="ul">IncrediBuild: Bu, derleme işlemini ağdaki diğer bilgisayarlara veya işlemcinin tüm çekirdeklerine dağıtır. Profesyonel projelerde standarttır. <li data-xf-list-type="ul">ASGARD / Incredibuild Alternatifleri: Eğer açık kaynaklı bir şey arıyorsan,
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız! Giriş yap veya üye ol.tam olarak Windows cl.exe derleyicisi için yazılmış bir ccache klonudur. Derlenmiş nesne dosyalarını (.obj) saklar ve değişmeyen dosyaları saniyeler içinde geçer.
2. Visual Studio İçindeki Gizli Hızlandırıcılar
Ekstra bir program kurmadan şu ayarları mutlaka yapmalısın:<h4>A. Precompiled Headers (PCH) - En Etkili Yöntem</h4>Metin2 kaynak kodlarında genelde StdAfx.h olarak geçer.
- <li data-xf-list-type="ul">Mantık: Hiç değişmeyen binlerce satırlık kütüphane kodlarını (windows.h, d3d9.h vb.) her seferinde baştan derlemez. <li data-xf-list-type="ul">Ayar: Proje Özellikleri -> C/C++ -> Precompiled Headers -> Use (/Yu).
- <li data-xf-list-type="ul">Ayar: Proje Özellikleri -> C/C++ -> General -> Multi-processor Compilation -> Yes (/MP).
- <li data-xf-list-type="ul">Ayar: Proje Özellikleri -> Linker -> General -> Enable Incremental Linking -> Yes (/INCREMENTAL).
Visual Studio'nun içine gömülü olan Multi-processor Compilation özelliğini şu şekilde aktif et (Hemen hemen aynı işi görür):
- <li data-xf-list-type="ol">Project Properties (Proje Özellikleri) kısmına gir. <li data-xf-list-type="ol">C/C++ -> General yolunu izle. <li data-xf-list-type="ol">Multi-processor Compilation seçeneğini Yes (/MP) yap. <li data-xf-list-type="ol">C/C++ -> Code Generation kısmına git. <li data-xf-list-type="ol">Enable Minimal Rebuild seçeneğini No (/Gm-) yap (Bu ayar /MP ile birlikte çalışmaz, kapatılması gerekir).
Visual Studio Hızlandırma: Metin2 Geliştirme Sürecinde Performans Artışı
Visual Studio IDE'si, özellikle C++ tabanlı projelerde büyük önem taşır. Metin2 özel sunucu geliştirme sürecinde Visual Studio'nun performansını artırmak, derleme sürelerini kısaltmak ve geliştirme deneyimini optimize etmek oldukça kritiktir.
Visual Studio Ayarları ile Hızlandırma
Visual Studio'da Tools > Options > Projects and Solutions > Build and Run kısmına girerek maximum number of parallel project builds ayarını işlemcinizin çekirdek sayısına göre yükseltmelisiniz. Bu, derleme sırasında birden fazla proje paralel çalıştırılabileceği anlamına gelir.
Ayrıca MSBuild projelerinde Incremental Build özelliğini aktif tutmak, değişen dosyaların yeniden derlenmesini sağlayarak süreyi azaltır. Özellikle Metin2 server src üzerinde çalışırken bu özellik oldukça faydalıdır.
Derleyici Bayrakları (Compiler Flags)
C++ projelerinde derleyici bayraklarını optimize etmek büyük performans farkı yaratabilir. Örneğin, [/BR][/BR]-O2 veya -O3 gibi optimizasyon bayrakları derleme süresini değil, ama programın çalışma performansını artırabilir.
Ayrıca Precompiled Headers (PCH) kullanmak, özellikle game core gibi büyük çaplı projelerde tekrar eden başlık dosyalarının her defasında yeniden okunmasını engeller.
SSD Kullanımı ve Sanal Bellek
Visual Studio'nun kurulu olduğu diskin SSD olması, büyük boyutlu client src dosyalarının hızlıca yüklenmesini ve derlenmesini sağlar. Ayrıca sanal bellek (page file) ayarlarını SSD diske göre optimize etmek de faydalı olabilir.
Geliştirme Ortamı İçin Ekstra Öneriler
Eğer Metin2 development veya Metin2dev projelerinde çalışıyorsanız, derleme öncesi IntelliSense veritabanını temizlemek zaman zaman faydalı olabilir. Edit > IntelliSense > Refresh Local Cache seçeneği ile bu işlem yapılabilir.
Python Araçları ve UIScript ile Entegrasyon
Metin2 özel sunucularında uiscript ve py root gibi Python kaynakları da sıklıkla kullanılır. Visual Studio Code veya Visual Studio içinde Python projeleri için Python Tools for Visual Studio (PTVS) eklentisi ile entegrasyon sağlanabilir. Bu sayede hem C++ hem Python kodları aynı ortamda daha verimli yönetilebilir.
Sonuç
Visual Studio hızlandırma işlemleri, Metin2 özel sunucu geliştirme sürecinde üretkenliği ciddi anlamda artırabilir. Derleme sürelerini azaltmak, IDE'nin daha hızlı yanıt vermesini sağlamak ve geliştirme sırasında zaman kazanmak için yukarıda belirtilen adımlar dikkate alınmalıdır.
Visual Studio Acceleration: Performance Improvement in Metin2 Development Process
Visual Studio IDE holds great importance especially in C++ based projects. Increasing the performance of Visual Studio, shortening compilation times and optimizing the development experience are highly critical in the Metin2 private server development process.
Acceleration with Visual Studio Settings
In Visual Studio, navigate to Tools > Options > Projects and Solutions > Build and Run and increase the maximum number of parallel project builds according to your CPU cores. This allows multiple projects to run in parallel during compilation.
Additionally, keeping the Incremental Build feature active in MSBuild projects ensures that only changed files are recompiled, reducing build time. This is particularly useful when working on Metin2 server src.
Compiler Flags
Optimizing compiler flags in C++ projects can significantly improve performance. For example, optimization flags like -O2 or -O3 do not affect build time but can enhance runtime performance.
Also, using Precompiled Headers (PCH) prevents repeatedly reading common header files in large projects such as game core.
SSD Usage and Virtual Memory
Having Visual Studio installed on an SSD speeds up loading and compiling large client src files. Additionally, optimizing virtual memory (page file) settings for an SSD drive can be beneficial.
Additional Recommendations for Development Environment
If you are working on Metin2 development or Metin2dev projects, occasionally clearing the IntelliSense database can help. You can do this via Edit > IntelliSense > Refresh Local Cache.
Integration with Python Tools and UIScript
In Metin2 private servers, Python sources like uiscript and py root are frequently used. Integration can be achieved within Visual Studio or Visual Studio Code using the Python Tools for Visual Studio (PTVS) extension. This enables more efficient management of both C++ and Python code in the same environment.
Conclusion
Visual Studio acceleration procedures can significantly boost productivity in the Metin2 private server development process. Reducing build times, enabling faster IDE response, and saving time during development can be achieved by following the steps outlined above.
