AcroForm ilişki önbelleği
HotPDF, uç AcroForm alanları, nitelikli alan adları, widget ek açıklamaları, widget sıraları ve sayfa konumları arasında belgeye özgü çift yönlü bir dizin tutar
Arama davranışı
Alan indeksi ve nitelikli ad araması, ilk kurulumdan sonra doğrudan diziler ve büyük/küçük harfe duyarsız açık adreslemeli bir ad haritası kullanır
Bir üst alan, terminal alan olmasa da devralınan /FT, /Ff ve /Opt girdileri sağlayabilir; group.a ve group.b gibi adlandırılmış alt alanlar ayrı indeksli alanlar olarak kalır
Alan dizini ve nitelikli ad araması, ilk oluşturmadan sonra doğrudan dizileri ve büyük/küçük harfe duyarsız açık adresli ad haritasını kullanır
GetLoadedFormFieldWidgetPageIndex bir widget sırasını sayfasına çözerken, GetLoadedFormFieldIndexForAnnotation bir sayfa ek açıklamasını alanına ve widget sırasına geri eşler
Ek açıklama dizisi üyeliği, bir widget /P girdisine göre öncelik alır ve belge sırasında ilk eşleşen sayfa, hatalı yinelenen üyelikte kazanır
/AcroForm /Fields içinden çıkarılan widget'lar, tanılama için yetim olarak dizinlenir ancak sentetik form alanları olarak açığa çıkarılmaz
Kurulum ve değişiklik
Önbellek, tek alan ağacı geçişi artı tek sayfa ek açıklaması geçişinde tembel olarak oluşturulur
Yüklenen alan oluşturma geçerli bir önbelleği artımlı olarak genişletirken, alan kaldırma, yeniden adlandırma, widget taşıma, ek açıklama kaldırma, birleştirme kaydı, XFA alan birleştirme ve sayfa tablosu değişikliği grafik değişmeden önce onu geçersiz kılar
Sonraki ilişki sorgusu, /P girdisi olmayan widget'lar dahil mevcut nesne grafiğinden yeniden oluşturur
Terminal bir alt alanı kaldırmak, kendi widget'larını ve alan ağacı girdisini kaldırır; kardeşlerini ve bunların devralınan ayarlarını korur
Ham nesne API'leri üzerinden AcroForm, alan, widget, sayfa /Annots, /Parent, /Kids veya /P sözlüklerini değiştirdikten sonra InvalidateLoadedFormRelationshipCache öğesini çağırın
Performans ve sahiplik
Ad ve nesne haritaları yük faktörlerini yarının altında tutar ve beklenen sabit zamanlı sıcak arama sağlar
Bir gerileme kapısı 10.000 yüklenen alan oluşturur, doğrusal geçiş telemetrisini kanıtlar ve Win32 ile Win64 üzerinde yinelenen ad aramasının soğuk oluşturma artı aramadan en az 100 kat daha hızlı olmasını gerektirir
Önbellek sahip olmayan nesne işaretçilerini depolar ve yüklenen belge grafik erişimi çağıran tarafından sıralı kalır
Ayrıca bakınız: GetLoadedFormFieldWidgetPageIndex, GetLoadedFormFieldIndexForAnnotation, InvalidateLoadedFormRelationshipCache, GetLoadedFormRelationshipCacheStatistics