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