Saturday, 2024-04-20, 1:18 PM Welcome Pengunjung


Indonesian Modding

Main | Sign Up | Login | RSS
[ New messages · Members · Forum rules · Search · RSS ]
  • Page 1 of 1
  • 1
Forum moderator: Rheiko  
Forum » Dunia Modding Warcraft III » Warcraft III Tutorial » Memory leak (Penjelasan memory leak)
Memory leak
RheikoDate: Tuesday, 2013-10-08, 5:36 PM | Message # 1
Co-Admin
Group: Administrators
Messages: 42
Awards: 2
Reputation: 12
Status: Offline
di tutorial ini saya akan mengajari anda bagaimana cara menangani object leak
handles adalah game objek: units, doodad, destructible, items, special effect, region, location, unit group, player group
yang bukan handles adalah integers, reals, booleans; mereka hanyalah. mereka tersimpan di variable mereka dan dihapus saat variable baru dibentuk.

handle variable dalam kata lain adalah petunjuk: mereka memiliki angka yang menunjukkan dimana objek dalam memory game terletak, dikarenakan itu mereka tidak bisa diremove dari memory karena tidak ada cara untuk memberitahu function yang digunakan untuk menghilangkan mereka, mereka ada di memory mana. handles yang tidak terlihat hanya akan dihapus pada akhir game tapi selama game masih berjalan, mereka bertambah dan dapat menyebabkan isu dalam kelangsungan game.

sekarang, ada banyak function yang membuat handles. Center of region, random point in region, position of unit, target point of ability being cast... dan banyak hal yang membuat lokasi objek, yang biasanya digunakan untuk membuat unit, atau special effect, atau distances between points... Units in region, units owned by
player, units in range,... semua function ini memberimu unit group. kemudian ada juga player group dan semua hal-hal yang sudah disebutkan dan lain-lain.

kamu mungkin hanya membutuhkan objek ini untuk sementara, tapi game tidak akan tahu itu dan tidak akan menghilangkannya sendiri. lokasi tidak akan hilang begitu saja setelah kita membuat sebuah unit. kita harus menggunakan function spesial untuk membuang handles yang hanya digunakan sementara atau tidak lagi digunakan dan tidak lagi dibutuhkan

mari katakan, kita akan membuat footman
Unit - Create 1 Footman at (Center of (Playable map area) facing default building facing
kita telah leak lokasi yaitu (Center of (Playable map area), untuk menghindar dari leak ini kita akan menggunakan variable terlebih dahulu [Point Variable, beri nama TempPoint] lakukan seperti ini:
Set TempPoint = (Center of (Playable map area)
Unit - Create 1 Footman at TempPoint facing default building facing
Custom script: call RemoveLocation(udg_TempPoint)
kita gunakan custom script [script adalah segaris kode dari jass], ingat bahwa custom script itu sangat sensitif. satu kesalahan kata maupun itu huruf kapital spasi atau apapun akan menyebabkan error. Dan kode yang terlalu panjang untuk custom script dapat mengakibatkan world editor crash
perhatikan udg_TempPoint, kita memberi awalan udg yang berarti user defined global. adalah global function
setiap kamu membuat variable, kamu harus mengawali script dengan udg_, contoh:
Custom script: call RemoveLocation(udg_PointVariableMu)

ini adalah basik dari memory leak
daftar leak ada di sini
 
Daffa_MageDate: Tuesday, 2013-10-08, 5:49 PM | Message # 2
Grand Leader
Group: Administrators
Messages: 76
Awards: 1
Reputation: 6
Status: Offline
Sedikit info tambahan, Warcraft 3 Leaks ini terjadi karena keteledoran Blizzard dalam pembuatan Warcraft 3 Handles.
 
Forum » Dunia Modding Warcraft III » Warcraft III Tutorial » Memory leak (Penjelasan memory leak)
  • Page 1 of 1
  • 1
Search: