משפר ביצועים עם מטמון שניתן להתאמה
Aspose.PSD משתמש במטמון לצורך אחסון זמני של נתונים. המנגנון פשוט לשימוש, ניתן להתאמה ושקוף. הוא מבטיח כי אין בעיות ביצועים במהלך עיבוד תמונות. מאמר זה מסביר איך להתאים אישית את המטמון עם ממשק ה-API של Aspose.PSD ל-.NET.
התאמה אישית של המטמון
כאשר תהליך זקוק לאחסון נתונים זמני, האחסון הזה מוקצה במטמון. המטמון יכול להיות מרחב בזיכרון או בדיסק והוא מוגדר על ידי המשתמש. כאשר הנתונים הזמניים אינם נחוצים יותר, המרווח משוחרר. ניתן לבדוק את הסטטיסטיקות של המרווח המוקצה בכל עת. כיצד Aspose.PSD מוקצה ומשתמש במטמונים ניתן להתאים אישית. במקטע זה מתארים את ההגדרות השונות ואת ברירות המחדל שלהן והמפרטים בקטעים הבאים מראים כיצד ניתן להשתמש בהם.
הגדרת המיקום שבו מוקצה המטמון
כדי להתאים איך נקבע מרווח המטמון, עליכם להגדיר את המאפיין CacheType. כחלק מברירת המחדל, המטמון מוקצה בזיכרון וכאשר אין עוד תקף בזיכרון, המרווח מוקצה בדיסק. מבנה זה כלול במצב Auto. המצב Auto הוא גמיש ומקסימלי בביצועים. קיימים גם מצבים אחרים:
- מצב CacheOnDiskOnly: מוקצה לדיסק בלבד.
- מצב CacheInMemoryOnly: מוקצה לזיכרון בלבד.
בחירת מצב CacheOnDiskOnly עשויה לגרום לביצועים רעים.
הגדרת גודל המטמון
יש להגדיר את המרווח המרבי (בבתים) שניתן למקם בדיסק או בזיכרון על ידי הגדרת המאפיינים MaxDiskSpaceForCache ו-MaxMemoryForCache בהתאמה. במצב המבריר, שתי הערכים מוגדרים כ-0, המהווה משמעו שאין גבול עליון.
שליטה בהפצת המטמון מחדש
אם אין מספיק מרווח זמין בזיכרון (כפי שנקבע על ידי המאפיין MaxMemoryForCache) כאשר מוקצה מטמון חדש, המטמון מוקצה לדיסק. אם אין מרווח מספיק בדיסק, ישולך חריגה. תהליך ההקצאת מטמון מעביר מזיכרון לדיסק אך לא להיפך. המאפיין ExactReallocateOnly משמש לשליטה בהפצת הזיכרון מחדש. הפצת אחזור מדי סיכוים גבוהה לקרות במטמונים שהוקצו מראש. זה יכול לקרות כאשר המערכת מבינה כי המרווח המוקצה לא יהיה מספיק. אם הערך של ExactReallocateOnly מוגדר לערך ברירת המחדל, שהוא False, המרווח מופצה לאותה מדיום. כאשר מוגדר ל-True, ההפצה לא יכולה לחרוג מהמרווח המקסימלי שנקבע. במקרה כזה, מטמון הזיכרון המוקצה בקידום (שמחייב הפצה מחדש) משוחרר ומרווח המוקצה מורחב על ידי הדיסק.