WPF DP
-
@דוד ל.ט.
בWPF יש מאפיינים מיוחדים (DP) שחוסכים זיכרון כי למאה אובייקטים יש משתנה אחד (נגיד Width - רוחב אלמנט), יש שיתוף משאבים בין כלל האובייקטים בתוכנית.
זה נכתב באשכול זה: http://tchumim.com/topic/342
ילמדנו רבינו:
איך זה קשור לDP? גם מאפיינים רגילים יכולים כולם להיות קשורים לאותו משתנה?
וגם עצם הדבר לא מובן לי הרי לכל פקד יש רוחב שונה?פורסם במקור בפורום CODE613 ב18/02/2014 14:57 (+02:00)
-
@דוד ל.ט.
בWPF יש מאפיינים מיוחדים (DP) שחוסכים זיכרון כי למאה אובייקטים יש משתנה אחד (נגיד Width - רוחב אלמנט), יש שיתוף משאבים בין כלל האובייקטים בתוכנית.ילמדנו רבינו:
איך זה קשור לDP? גם מאפיינים רגילים יכולים כולם להיות קשורים לאותו משתנה?
וגם עצם הדבר לא מובן לי הרי לכל פקד יש רוחב שונה?קודם שאלה שנייה: במידה ויש רוחב מפורש, אז נוצר מקום בזיכרון מפורש. החיסכון הענק הוא על הלא מפורש. למעשה תמיד מפורש רק השאלה באיזה רמה, ישנם כמעט עשרה רמות כמדומני, התחתון שבהם הוא באלמנט עצמו, ואז אכן אין שום חיסכון בזיכרון.
כעת לשאלה ראשונה: איך זה קשור לDP, גם במאפיינים רגילים אפשר. התשובה היא שלילית. במאפיינים רגילים, אם אתה רוצה שכל המופעים יחלקו זיכרון אחד, אז אתה מצהיר עליהם כסטטיים, ואז גם אם בא לך שאחד יהיה שונה, אז אתה צריך לכתוב קוד מיוחד לזה ולדאוג לנהל ת'עסק. זה הDP חוסכים.
חשוב להבין שבשביל עשרות אובייקטים זה לא משמעותי (תלוי בסוג המאפיין), אבל בחלון XAML פשוט ייתכנו אלפי אלמנטים (לכל אלמנט יש מאות מאפיינים).פורסם במקור בפורום CODE613 ב18/02/2014 16:00 (+02:00)
-
@דוד ל.ט.
במידה ויש רוחב מפורש, אז נוצר מקום בזיכרון מפורש. החיסכון הענק הוא על הלא מפורש.
אם הרוחב לא מפורש צריך להריץ פונקציות כדי לשכלל אותו על פי פקד האב שמכיל אותו וכדומה ושוב הפונקציות זוללות זיכרון כי הן באלפים עבור כל פקד וכל מאפיין.
@דוד ל.ט.
למעשה תמיד מפורש רק השאלה באיזה רמה, ישנם כמעט עשרה רמות כמדומני, התחתון שבהם הוא באלמנט עצמו, ואז אכן אין שום חיסכון בזיכרון.
לאלו רמות אתה מתכוון, ואיך זה חוסך בזיכרון?
פורסם במקור בפורום CODE613 ב18/02/2014 16:07 (+02:00)
-
@דוד ל.ט.
במידה ויש רוחב מפורש, אז נוצר מקום בזיכרון מפורש. החיסכון הענק הוא על הלא מפורש.אם הרוחב לא מפורש צריך להריץ פונקציות כדי לשכלל אותו על פי פקד האב שמכיל אותו וכדומה ושוב הפונקציות זוללות זיכרון כי הן באלפים עבור כל פקד וכל מאפיין.
@דוד ל.ט.
למעשה תמיד מפורש רק השאלה באיזה רמה, ישנם כמעט עשרה רמות כמדומני, התחתון שבהם הוא באלמנט עצמו, ואז אכן אין שום חיסכון בזיכרון.
לאלו רמות אתה מתכוון, ואיך זה חוסך בזיכרון?
באשר לשאלת הפונקציות, אז דבר ראשון פוקנציות זה לא זיכרון, ופונקציה שלא מופעלת נחשבת כלא תופסת משאבים כלל.
דבר שני, מבחינת עיבוד אתה צודק שיש פה עלייה לעומת מאפיין רגיל, במיוחד שזה עובד עם תנאים אבל מושגי עיבוד אלו לא ראויים בכלל ליחס.מה כוונת המשפט "איך זה חוסך בזיכרון"? אני אולי ינקד את ההודעות הקודמות? או שלא הסברתי מספיק אבל לא הצבעת על נקודה כזו.
באשר לרמות, היה נראה שאתה מכיר לפחות אחת ("פקד האב וכדומה"), בא נאמר שהשאלה של הזיכרון הובנה, וזה נושא חדש להזדמנות אחרת, בסדר ?פורסם במקור בפורום CODE613 ב18/02/2014 16:18 (+02:00)
-
כעת הבנתי.
@דוד ל.ט.למעשה תמיד מפורש רק השאלה באיזה רמה
חשבתי שאתה מתכוון רמה = איכות הפירוש, כלומר אם הרוחב מוגדר מפורש על 100 או אוטומט או שאר הערכים שאפשר לשים ברוחב.
אבל אתה התכוונת מפורש = כל הערכים שאפשר לשים במאפיין רוחב, רמה = קומה בעץ הויזואלי.אז למעשה ב WPF תפסו שתי ציפורים שונות במכה אחת, כלומר זה שפקדים יורשים מאבותיהם את ערכי המאפיינים זה גם נותן ממשק שמתאים את עצמו היטב למסך ולא כמו בWIN FORMS, וגם חוסך בזכרון.
ועדיין לגבי הרמות למה אמרת 10 זה ממש תלוי איך בנוי הטופס זה יכול להיות 3-4 ויכול להיות 200.
פורסם במקור בפורום CODE613 ב18/02/2014 16:30 (+02:00)
-
א. לא הסברת מה לא היה מובן בנושא החיסכון בזיכרון.
ב. כמה רמות של פירוש זה לא בעץ הויזואלי וממילא מיושבת שאלתך, נכון?
כמה רמות זה אב תצוגה כל שהוא (גם 100 וגם 1), סטייל, ערך ברירת מחדל וכו'.
תוכל לראות את הרשימה פה.
וכעת שנכנסתי שם ראיתי שיש 11.פורסם במקור בפורום CODE613 ב18/02/2014 16:55 (+02:00)
-
אין ספק שדוט נט זה דבר חכם, ו WPF חכם מאוד אפילו. אגב גוגל ניסו לעשות משהו לHTML שכביכול יחקה את WPF מבחינת לוגיקה (AngularJS) אבל הבנתי ממג'יקוד שעל פניו נראה שזה זולל משאבים כרוני, ותוקע את כל המחשב(!!!!) לפעמים, אז כנראה שהם לא הגיעו לרמת התיחכום הזו בעיבוד של הפקדים וכולי.
אני רוצה פשוט להודות על האמת, שהרבה פעמים אני מתפעל מהכישרון של היהודים המתכנתים שם (לגבי הגויים יש בעיה של "לא תחנם" אני לא מעוניין להסתבך עם זה :D) זה כדי לתקן את הקיתונות שאני שופך כל הזמן על מייקרוסופט מתוך אמוציות, ולתת גם פידבק למנהל הפורום שיודע להגיע לנקודות כל כך אמיתיות בתיכנות, באמת שפו!!! אז תודה על האשכול, ושכולם יהיו איכותיים כאלו
פורסם במקור בפורום CODE613 ב18/02/2014 21:59 (+02:00)
-
@דוד ל.ט.
א. לא הסברת מה לא היה מובן בנושא החיסכון בזיכרון.
ב. כמה רמות של פירוש זה לא בעץ הויזואלי וממילא מיושבת שאלתך, נכון?
כמה רמות זה אב תצוגה כל שהוא (גם 100 וגם 1), סטייל, ערך ברירת מחדל וכו'.
תוכל לראות את הרשימה פה: http://msdn.microsoft.com/en-us/library/ms743230(v=vs.110).aspx
וכעת שנכנסתי שם ראיתי שיש 11.א-ב זו היתה פשוט אי הבנה קטנה, אני כמעט בטוח שכעת הבנתי כהוגן.
נ.ב
הקישור לא תקין.פורסם במקור בפורום CODE613 ב19/02/2014 08:44 (+02:00)