أكثر

هل من الممكن وضع طبقات الرموز دائمًا في المقدمة؟

هل من الممكن وضع طبقات الرموز دائمًا في المقدمة؟


هل من الممكن تعيين الرموز دائمًا في المقدمة ، أيضًا إذا تم رسم الطبقة التي بها الرمز أسفل طبقة أخرى؟

مثال: ترتيب الطبقات الخاص بي مثل هذا:

الشوارع (أعلى)
البنايات
استخدام الأرض (أسفل)

تحتوي طبقة المباني على رموز النقطه الوسطى. لكن هذه مرسومة تحت طبقات الشوارع:


يمكنك إما

  1. قم بتكرار طبقة المباني ، مرة واحدة في الجزء السفلي للمضلع ، ومرة ​​واحدة في الأعلى للرمز ، أو
  2. إنشاء ملصقات الرموز. التسميات دائما في المقدمة. يرىتسميات | الخلفية | الشكل = SVG

لن ينجح هذا بنسبة 100٪ ، لكنه سيحسن الوضع إلى حد ما. يمكنك تعيين Topmost = true في معالج النافذة.

سيتم استدعاء الحدث المعطل كلما فقد التطبيق الخاص بك التركيز (غالبًا عندما يطلب تطبيق آخر أن يكون في المقدمة) وبالتالي سيعيد تعيين التطبيق الخاص بك في المقدمة بعد ذلك.

جرب هذا الحل من MSDN ، يجب أن يعمل من أجلك. في حدث Window Activated ، أضف الكود التالي:

في DeActivated Event ، أضف الكود التالي

لم ينجح أي من الحلول المذكورة أعلاه بالنسبة لي ، لذا فإليك ما أفعله في النهاية. هي تعمل بشكل ممتاز من أجلي.

بشكل أساسي ، لإبقائه في المقدمة ، ما عليك سوى تعيين حدث فقد التركيز لجعله يعود إلى القمة.

إذا كنت تريد أن يظل التطبيق الخاص بك على رأس كل شيء (بما في ذلك واجهة البدء في Windows 8 ، والتي كانت تُعرف سابقًا باسم "Metro") ، فيمكنك تحديد UiAccess = "True" في ملف البيان الخاص بك. يستخدم هذا عادةً بواسطة تطبيقات إمكانية الوصول مثل لوحات المفاتيح التي تظهر على الشاشة.

من الذاكرة ، عليك أن تفعل 3 أشياء

  1. طلب UiAccess = "True"
  2. قم بتوقيع ملف exe للتطبيق الخاص بك بشهادة معترف بها. لقد حصلت على شهادة توقيع رمز مجاني من Certum لأن مشروعي مفتوح المصدر.
  3. قم بتثبيت التطبيق الخاص بك على "موقع موثوق به" ، والذي كان في حالتي هو دليل ملفات البرنامج. لا يوجد تعريف رسمي لـ "الموقع الموثوق به" يمكنني العثور عليه.

لذلك واجهت نفس المطلب مؤخرًا. يبدو أن الإجابة ذات التصنيف الأعلى وكذلك الثانية لم تعمل بشكل صحيح بالنسبة لي. لقد وجدت حلاً يبدو أنه يعمل بشكل لا تشوبه شائبة ويلتزم إلى حد ما بأفضل الممارسات باستخدام MVVM.

يؤدي استخدام ما يلي إلى إجبار النافذة على الوصول إلى الأعلى وعدم حدوث أي تغيير مثل الحلول الأخرى.

الخطوة 1: لقد أنشأت فئة مدير دولة بسيطة لنافذة عميلي الرئيسية. لقد استخدمت INotifyPropertyChanged لإبقاء الخاصية متزامنة عند استخدام ربط مباشر بنافذة. (مهم جدا)

الخطوة 2.1: تمت إضافة فئة مدير الولاية الخاصة بي إلى ViewModel الخاص بي. (MVVM)

الخطوة 2.2: قم بتعيين سياق بيانات النافذة على نموذج العرض الخاص بك.

الخطوة 3: أضف ربط بياناتك إلى نافذتك.

حتى الآن يمكنك إدارة حالة النافذة الخاصة بك باستخدام كائن مدير الحالة الذي تمت تهيئته داخل نموذج العرض. يمكنك استدعاء SetTop () من مدير الولاية لدفعه للأمام ، أو UnSetTop () لإيقافه. أتمنى أن يساعد هذا أي شخص يتطلع إلى فعل الشيء نفسه.


13 إجابات 13

سيعمل Form.TopMost ما لم يقم البرنامج الآخر بإنشاء نوافذ عليا.

لا توجد طريقة لإنشاء نافذة غير مغطاة بنوافذ عليا جديدة لعملية أخرى. أوضح ريموند تشين السبب.

كنت أبحث عن تطبيق WinForms الخاص بي "Always on Top" ولكن إعداد "TopMost" لم يفعل شيئًا بالنسبة لي. كنت أعلم أنه كان ممكنًا لأن WinAmp يقوم بذلك (جنبًا إلى جنب مع مجموعة من التطبيقات الأخرى).

ما فعلته هو إجراء مكالمة إلى "user32.dll". لم يكن لدي أي مخاوف بشأن القيام بذلك وهو يعمل بشكل رائع. إنه خيار على أي حال.

أولاً ، قم باستيراد مساحة الاسم التالية:

أضف بعض المتغيرات إلى إعلان الفصل الخاص بك:

إضافة نموذج أولي لوظيفة user32.dll:

ثم في الكود الخاص بك (أضفت المكالمة في Form_Load ()) ، أضف المكالمة:

إذا كنت تعني "بالجنون" أن كل نافذة تستمر في سرقة التركيز من الأخرى ، فلن يحل TopMost المشكلة.

سيظهر هذا شكل "الطفل" دون أن يسرق التركيز. سيبقى النموذج الفرعي أيضًا على رأس والده حتى إذا تم تنشيط الوالد أو التركيز. يعمل هذا الرمز بسهولة فقط إذا قمت بإنشاء مثيل للنموذج الفرعي من داخل نموذج المالك. خلاف ذلك ، قد تضطر إلى تعيين المالك باستخدام واجهة برمجة التطبيقات.

مررت بمدة 5 دقائق ونسيت تحديد النموذج بالكامل على النحو التالي:

لكن ما كنت أريده حقًا هو هذا!

قم بتعيين خاصية TopMost الخاصة بالنموذج إلى true.

ربما لا ترغب في ترك الأمر على هذا النحو طوال الوقت: اضبطه عند بدء العملية الخارجية وأعده عند الانتهاء.

كانت الطريقة التي حللت بها هي إنشاء رمز علبة النظام الذي يحتوي على خيار إلغاء.

الكود التالي يجعل النافذة دائمًا في المقدمة بالإضافة إلى جعلها بدون إطار.

ما هو التطبيق الآخر الذي تحاول حجب الرؤية عنه؟ هل بحثت عن طرق أخرى لتحقيق التأثير المطلوب؟ الرجاء القيام بذلك قبل تعريض المستخدمين لمثل هذا السلوك المارق كما تصفه: يبدو ما تحاول القيام به مثل ما تفعله بعض المواقع المشاغبين باستخدام نوافذ المتصفح.

على الأقل حاول الالتزام بقاعدة Least Surprise. يتوقع المستخدمون أن يكونوا قادرين على تحديد ترتيب z لمعظم التطبيقات بأنفسهم. أنت لا تعرف ما هو الأكثر أهمية بالنسبة لهم ، لذلك إذا قمت بتغيير أي شيء ، يجب أن تركز على دفع التطبيق الآخر وراء كل شيء بدلاً من الترويج لتطبيقك الخاص.

هذا بالطبع أكثر تعقيدًا ، نظرًا لأن Windows لا يحتوي على مدير نوافذ متطور بشكل خاص. نهجان يقترحان أنفسهم:


يمكن إنشاء النوافذ ذات المستوى الأعلى فقط على شكل طبقات. من خلال أسلوبك ، تقوم بإنشاء نافذة فرعية إلى نافذة سطح المكتب ، وبالتالي لا يمكن وضعها في طبقات.

قد يكون من الأفضل إذا حاولت شرح ما تعنيه ب "لصق" / "تثبيت" نافذة على سطح المكتب. أفترض أنك تريد ضبط النافذة في موضع معين على سطح المكتب والاحتفاظ بها دائمًا هناك ، ولكن يجب أن يكون هناك شيء آخر أفتقده. وإلا ، فلماذا لا يكون مجرد وضع النافذة عند إحداثيات معينة على الشاشة مناسبًا لك؟


ما هي أفضل تطبيقات المراسلة المشفرة؟

في هذا القسم ، سألقي نظرة على مجموعة من تطبيقات المراسلة التي توفر حماية مشفرة من طرف إلى طرف لرسائلك.

من المحتمل أن تكون على دراية ببعض منها وربما تستخدمها بالفعل. لكنني أراهن أيضًا أنك ستتعلم بعض الأشياء عن كل تطبيق بينما نلقي نظرة عليها.

رسائل Apple (iOS و watchOS و macOS)

على الرغم من أنني لا أقوم عادةً بتضمين هذا التطبيق & # 8211 لأنه متاح فقط على أجهزة iOS و watchOS و macOS & # 8211 ، فإن العدد الهائل من هذه الأجهزة المستخدمة يبرر تضمينها في هذه الجولة.

إلى جانب ذلك ، قد لا يدرك العديد من مستخدمي iPhone و iPad و Apple Watch و Mac مدى جودة حماية الرسائل لجلسات المراسلة الخاصة بهم.

يستخدم تطبيق رسائل Apple iMessage ، خدمة المراسلة الآمنة من Apple، والذي يوفر تشفيرًا شاملاً لرسائل المستخدمين المرسلة عبر تطبيق الرسائل.

يستخدم التطبيق معرف Apple الخاص بمستخدمي Apple ، والذي يستخدم أيضًا في App Store والبريد الإلكتروني و iCloud والمزيد. تستفيد الخدمة من التشفير الشامل المدمج في iCloud للحفاظ على أمان رسائل مستخدمي iMessage.

تتم حماية كل من الرسائل والمرفقات التي يتم إرسالها واستلامها عبر تطبيق الرسائل عن طريق التشفير من طرف إلى طرف ، ولا يمكن لأي شخص سوى المرسل والمستلم الوصول إليها.

لا تستطيع Apple حتى فك تشفير البيانات. (تسبب هذا في حدوث نزاعات قانونية مع وكالات إنفاذ القانون الفيدرالية التي حاولت إجبار Apple على "إلغاء قفل" الرسائل على الأجهزة التي يستخدمها المجرمون والإرهابيون.)

لقطة الشاشة أدناه هي تمثيل مبسط لكيفية حماية نظام Apple لجلسات iMessage. لإلقاء نظرة أكثر تفصيلاً على كيفية عمل كل ذلك ، أقترح بشدة تنزيل أحدث إصدار من دليل أمان iOS من Apple (PDF).

يرجى ملاحظة أن التشفير من طرف إلى طرف يذهب فقط إلى أبعد من الرسائل التي تبقى داخل حديقة Apple iMessage المحاطة بالأسوار.

بينما يمكن لمستخدمي تطبيق الرسائل إرسال رسائل نصية قصيرة SMS بسهولة وشفافية إلى مستخدمي الأجهزة الأخرى ، مثل أجهزة Android ، فإن الرسائل ليست محمية بالتشفير من طرف إلى طرف ، مثل لا تقدم رسائل SMS نفس الأمان المشفر مثل iMessage.

يأتي تطبيق رسائل Apple مثبتًا مسبقًا على جميع أجهزة iOS و watchOS و macOS.

Signal (Android و iOS و macOS و Windows و Linux)

Signal هو تطبيق مراسلة مشفر متاح لأنظمة Android و iOS و Windows و macOS و Linux.

يمكن للمستخدمين استخدام التطبيق لإرسال رسائل للأفراد والمجموعات. يمكنهم أيضًا إرسال الملفات والملاحظات الصوتية والصور ومقاطع الفيديو ، بالإضافة إلى إجراء مكالمات الصوت والفيديو عبر التطبيق. يتم تأمين جميع الاتصالات عبر التشفير من طرف إلى طرف.

تستخدم Signal منصة مستقلة شاملة ، تنقل المعلومات عبر بنيتها التحتية الخاصة. يعتمد تشفير التطبيق على بروتوكول OTR ويستخدم AES-256 و Curve25519 و HMAC-SHA256.

التطبيق مجاني وهو المصدر المفتوح، مما يسمح لأي طرف بتدقيق رمز التطبيق والتحقق منه للتأكد من أن الشفرة لا توفر أي وصول خلفي لأي شخص ، مثل أنواع تطبيق القانون "الإرهابيون سيفوزون بدون وصول".

يستخدم التطبيق كلمة مرور التطبيق ومانع يمنع تجريف الشاشة. يمكن للمستخدمين التحكم في أنواع البيانات التي يُسمح بإرسالها واستلامها عبر شبكة Wi-Fi أو الاتصالات الخلوية. يُطلب من جميع الأطراف تثبيت التطبيق على أجهزتهم للمشاركة في أي محادثات فردية أو جماعية.

لمزيد من المعلومات حول Signal ، أو لتنزيل تطبيق Signal لجهازك ، قم بزيارة موقع Signal على الويب.

WhatsApp (أكثر المنصات شهرة)

WhatsApp هو تطبيق مراسلة مجاني وآمن متاح لأجهزة Android و iOS و Windows Phone و Nokia S40.

في حين أن هناك عملاء WhatsApp متاحين لأنظمة Windows و macOS ، بالإضافة إلى إصدار قائم على متصفح الويب ، فإنهم يتطلبون وجود جهاز يقوم بتشغيل تطبيق الهاتف المحمول للمزامنة مع عميل سطح المكتب. لا يُسمح بمكالمات الصوت أو الفيديو من سطح المكتب أو عملاء الويب.

يجب على المستخدمين الذين يشككون في Facebook وحماية خصوصيتهم & # 8211 أو عدم وجودها & # 8211 أن يلاحظوا أن WhatsApp تم الحصول عليه من قبل الشبكة الاجتماعية في فبراير 2014.

يقوم Facebook بالتعدين في بيانات مستخدميه لأغراض إعلانية ، لذلك قد تتوقع نوعًا من عمليات التعدين المماثلة لـ WhatsApp ، على الرغم من عدم تأكيد مثل هذا التنقيب.

رسائل WhatsApp محمية بالتشفير من طرف إلى طرف عبر جميع الأنظمة الأساسية ، بما في ذلك بروتوكول التشفير نفسه المستخدم في Signal ، والذي ألقينا نظرة عليه في القسم الفرعي السابق. يمكن للمستخدمين التحقق من مفاتيح بعضهم البعض ويمكن إخطارهم في حالة تغيير مفتاح مستخدم آخر.

بالإضافة إلى الرسائل النصية ، تتيح منصة WhatsApp أيضًا إجراء واستقبال مكالمات الصوت والفيديو والصور والمستندات الأخرى. يمكن للمستخدمين أيضًا إرسال موقعهم الحالي إذا رغبوا في ذلك. يتم تغليف جميع البيانات بتشفير من طرف إلى طرف.

بينما يتوفر WhatsApp دوليًا ، فإن الخدمة محظورة حاليًا في الصين ، وقد تم حظرها مؤقتًا في وقت أو آخر في بلدان أخرى ، بما في ذلك إيران وتركيا والبرازيل.

لمزيد من المعلومات حول WhatsApp ، أو لتنزيل تطبيق WhatsApp لجهازك ، قم بزيارة موقع WhatsApp على الويب.

Wickr Me & # 8211 Private Messenger (المنصات الأكثر شيوعًا)

يوفر تطبيق المراسلة الفورية Wickr Me تشفيرًا شاملاً لرسائل المستخدمين ، والذي يمكن أن يتضمن رسائل انتهاء صلاحية المحتوى والصور ومقاطع الفيديو وأنواع أخرى من مرفقات الملفات. التطبيق متاح لأجهزة Android و iOS و Mac و Windows و Linux.

يتيح تطبيق Wickr Me للمستخدمين حدد وقت انتهاء الصلاحية لرسائلهم المشفرة ، والتي يمكن مزامنتها عبر أجهزة متعددة ، مثل الهاتف المحمول أو الجهاز اللوحي أو كمبيوتر سطح المكتب.

يتم تشفير جميع الاتصالات محليًا على كل جهاز ، باستخدام مفتاح جديد يتم إنشاؤه لكل رسالة جديدة. هذا يعني أنه لا أحد بخلاف مستخدمي Wickr في المحادثة لديه المفاتيح اللازمة لفك تشفير المحادثة.

يمكن إجراء محادثات Wickr Me بشكل فردي أو في مجموعات. لا يلزم وجود رقم هاتف أو عنوان بريد إلكتروني للتسجيل في Wickr Me ، ويظل دفتر عناوين المستخدم خاصًا ولا يتم تخزينه على خوادم Wickr. يقولها ويكر لا يخزن أي بيانات وصفية المرتبطة باتصالات المستخدمين.

يستخدم Wickr طبقات متعددة من التشفير لتأمين البيانات والرسائل. يتم تجزئة أسماء المستخدمين ومعرفات التطبيقات ومعرفات الأجهزة باستخدام جولات متعددة من SHA256 المملح ، ويتم تشفير البيانات باستخدام AES256. بمعنى آخر ، معلوماتك آمنة.

كل رسالة لها مفتاح تشفير جديد، والتي يتم حذفها بمجرد فك تشفير الرسالة. تظل جميع تجزئات كلمات المرور وكلمات المرور على الجهاز ، ويتم مسح جميع محتويات المستخدم تمامًا من الجهاز بعد انتهاء صلاحيته.

لمزيد من المعلومات حول Wickr Me ، أو لتنزيل تطبيق Wickr Me لجهازك ، قم بزيارة موقع Wickr على الويب.


6 إجابات 6

كان لدي انطباع بأن ما يلي قد تم اختباره بالفعل من قبل الآخرين ، خاصة بناءً على بعض التعليقات. لكن الاختبار الذي أجريته يُظهر أن هاتين الطريقتين تعملان بالفعل على مستوى قاعدة البيانات ، حتى عند الاتصال عبر .NET SqlClient. تم اختبارها والتحقق منها من قبل الآخرين.

يمكنك تعيين إعداد تكوين خادم خيارات المستخدم ليكون أيًا كان ما هو عليه حاليًا أو محرر 64 (قيمة ARITHABORT). إذا كنت لا تستخدم البت الحكيم OR (|) ولكن بدلاً من ذلك تقوم بتعيين مباشر (=) ، فسوف تمسح أي خيارات أخرى موجودة تم تمكينها بالفعل.

على مستوى قاعدة البيانات

يمكن تعيين هذا لكل قاعدة بيانات عبر ALTER DATABASE SET:


اعرف المزيد اعرف المزيد

توفر هذه الموارد مزيدًا من المعلومات حول هذه الحالة أو الأعراض المرتبطة بها. تحتوي الموارد المتعمقة على لغة طبية وعلمية قد يصعب فهمها. قد ترغب في مراجعة هذه الموارد مع أخصائي طبي.

من أين أبدا

  • يحتوي المرجع الرئيسي لعلم الوراثة (GHR) على معلومات حول متلازمة حذف الكروموسوم 1p36. هذا الموقع تشرف عليه المكتبة الوطنية للطب.
  • فريد هو مصدر للمعلومات والدعم للعائلات والأفراد المصابين باضطرابات الكروموسومات النادرة. انقر فوق الارتباط لعرض معلومات حول متلازمة حذف الكروموسوم 1p36.

معلومات متعمقة

  • تقدم GeneReviews حاليًا ، مؤلفًا من قبل خبراء ، ومراجعة من قبل الأقران ، ومقالات نصية كاملة تصف تطبيق الاختبارات الجينية للتشخيص ، والإدارة ، والاستشارة الوراثية للمرضى الذين يعانون من حالات وراثية محددة.
  • تجمع مبادرة Monarch بيانات حول هذه الحالة من البشر والأنواع الأخرى لمساعدة الأطباء والباحثين في مجال الطب الحيوي. تم تصميم أدوات Monarch لتسهيل مقارنة العلامات والأعراض (الأنماط الظاهرية) للأمراض المختلفة واكتشاف السمات المشتركة. هذه المبادرة هي تعاون بين العديد من المؤسسات الأكاديمية في جميع أنحاء العالم وتمولها المعاهد الوطنية للصحة. قم بزيارة موقع الويب لاستكشاف بيولوجيا هذه الحالة.
  • الوراثة المندلية في الإنسان على الإنترنت (OMIM) هي فهرس للجينات البشرية والاضطرابات الوراثية. يحتوي كل إدخال على ملخص للمقالات الطبية ذات الصلة. إنه مخصص لمهنيي الرعاية الصحية والباحثين. تتم صيانة OMIM من قبل كلية الطب بجامعة جونز هوبكنز.
  • Orphanet هي بوابة مرجعية أوروبية للحصول على معلومات حول الأمراض النادرة والأدوية اليتيمة. الوصول إلى قاعدة البيانات هذه هو مجانا.
  • PubMed هي قاعدة بيانات قابلة للبحث من المؤلفات الطبية وتسرد مقالات المجلات التي تناقش متلازمة حذف الكروموسوم 1p36. انقر فوق الارتباط لعرض نموذج بحث حول هذا الموضوع.

الهيكل التنظيمي

206 مادة & # 8226 1.564.130 زيارة

914 مركز معرفة و # 8226 مليون عضو

مرحبًا بكم في مركز المعرفة & # 8220Organization Chart & # 8221:

  • ملخص
  • مجموعة المصالح الخاصة
  • المنتدى
  • أفضل الممارسات
  • نصائح الخبراء
  • مصدر المعلومات

الرجاء التسجيل الآن. انه مجانا.

ما هو الهيكل التنظيمي؟ وصف

كل منظمة لديها كلا الهيكل التنظيمي الرسمي وغير الرسمي. أمثلة على الهياكل التنظيمية هي:

  • الهيكل الهرمي (نموذجي للمنظمات الصغيرة الريادية)
  • هيكل فريق العمل
  • هيكل وظيفي أو إداري (بناءً على الوظيفة ، المنتجات / الخدمة ، نوع العميل ، المنطقة الجغرافية)

هيكل المصفوفة (التسلسل الإداري المزدوج)

يمكن تمثيل هذه الهياكل الرسمية للمنظمات في شكل الهيكل التنظيمي. يشار إليها أيضًا باسم الهيكل التنظيمي ، الهيكل التنظيمي ، المخطط العضوي، أو المخطط الهيكلي. يوضح بيانيا السلطة الهرمية والأدوار والمسؤوليات والوظائف والعلاقات داخل المنظمة. بالنسبة للموظف الجديد ، يساعد المخطط التنظيمي على فهم ما يجب أن يحدث داخل الشركة. (يمثل الهيكل غير الرسمي ما يحدث بالفعل داخل المنظمة).

أشار العديد من الأشخاص إلى نقاط الضعف والقيود في المخططات الهيكلية. صاغ آخرون مجموعة مذهلة من الكلمات الطنانة لتصنيف المنظمات ، بما في ذلك المنظمات الشبكية ، والمنظمات عبر الوطنية ، والمنظمات الأمامية ، والمنظمات بلا حدود ، والمنظمات التعليمية ، والمنظمات الافتراضية والشبكات الاجتماعية.

ومع ذلك ، لا يزال التصميم التنظيمي يمثل أحد الطلبات المهمة والصعبة على الإدارة العليا ، لأنه يؤثر ويربط بين استراتيجية الأعمال والشركات ، والتسويق ، واتخاذ القرار ، والاتصال ، والتمويل والاستثمار ، والقيادة داخل أي منظمة. وستستمر المخططات التنظيمية في لعب دور رئيسي في هذه العملية ، على الرغم من أنها قد تبدو مختلفة تمامًا عن الأشكال التقليدية الشبيهة بالأشجار في الماضي. ببساطة لأن الأشخاص يمكنهم استيعاب المعلومات بسرعة أكبر عندما يتم عرضها بطريقة رسومية.

أصل الهيكل التنظيمي. تاريخ

ليس من المستبعد أن يكون قدماء المصريين قد وثقوا بالفعل أساليبهم في تنظيم تقسيم العمل لمشاريع الأشغال العامة الضخمة بطريقة أو بأخرى. ومع ذلك ، فمن المحتمل أن يكون أول مخطط تنظيمي حقيقي قد تم إنشاؤه في عام 1854 من قبل دانيال ماكولوم ، المشرف على شركة السكك الحديدية في نيويورك وإيري. كان ماكالوم مسؤولاً عن إنشاء خط لمسافة 500 ميل تقريبًا يمتد من مدينة جيرسي عبر بنسلفانيا ونيويورك إلى شواطئ البحيرات العظمى.

أشار ماكالوم إلى أنه مع تساوي الأشياء الأخرى ، يجب تشغيل طريق طويل بتكلفة أقل لكل ميل من طريق قصير & quot. لكن الأمور لم تكن متساوية. كانت الوظائف الأساسية لشركة السكك الحديدية - تنسيق توصيل البضائع والأشخاص ، وإصلاح السيارات والمسار ، ومراقبة مواقع القطارات - أكثر تعقيدًا إلى حد كبير على مسافة 500 ميل من أكثر من 50 ميلًا. بدون تنظيم فعال ، فإن الأميال الإضافية من السكة الحديد تجعل تشغيل خطوط السكك الحديدية أكثر تكلفة. طور مكالوم المخطط التنظيمي ، الذي كان يشبه شجرة ، وفقًا للكاتب هنري فارنوم بور. تمثل جذورها الرئيس ومجلس الإدارة. كانت فروعها هي الأقسام العاملة الخمسة وأقسام الركاب والشحن. دلت أوراقها على وكلاء التذاكر والشحن المحليين والأطقم والملاحظين ، وما إلى ذلك.

من الناحية التاريخية ، يعد المخطط التنظيمي رمزًا لتطور الصناعة الغربية من كونها شخصية في جوهرها بطبيعتها إلى مؤسسات أصبح فيها إنشاء القدرات التنظيمية شرطًا أساسيًا للبقاء.

إستعمال المخطط الهيكلي. التطبيقات

  • تحديد الأدوار والمسؤوليات لجميع الموظفين داخل المنظمة.
  • إنشاء هيكل هرمي للسلطة والسلطة وبالتالي اتخاذ القرار.
  • إنشاء قنوات اتصال وتدفق المعلومات ، مع دمج سلسلة القيادة مع القواعد واللوائح المحددة المتعلقة بإجراءات الإبلاغ وأساليب المساءلة.
  • إنشاء آليات التحكم ، مثل درجة المركزية ومدى السيطرة. قارن: المركزية واللامركزية.
  • وضع استراتيجيات لتنسيق ممارسات العمل.
  • تأسيس عمليات صنع القرار.
  • إنشاء وظائف ومهام تشغيلية محددة.

إنشاء مخطط تنظيمي. معالجة

يقترح روبرت سيمونز (Levers of Organization Design، 2005) أن هناك أربعة توترات رئيسية أو عوامل تكمن وراء أي تصميم للمؤسسة:

إستراتيجية (الهيكل يتبع الإستراتيجية) عكس هيكل (تصميم المنظمة يؤثر على الاستراتيجيات المستقبلية)

مسئولية (لأهداف اليوم) مقابل القدرة على التكيف (للتغييرات المستقبلية)

سلالم (التسلسلات الهرمية العمودية) مقابل الخواتم (شبكات أفقية)

المصلحة الذاتية (فرد) مقابل نجاح المهمة (قسم ، وحدة أعمال ، مؤسسة).

قدرات الهيكل التنظيمي. فوائد

  • شفافة ويمكن التنبؤ بها. يساعد على فهم ما يجب أن يحدث داخل الشركة.
  • يوفر لقطة سريعة حول التدرج الهرمي الرسمي في المؤسسة.
  • من هو المسؤول عن ماذا. من يقدم التقارير لمن.

حدود المخططات التنظيمية. سلبيات

  • ثابت وغير مرن. المنظمات تتغير وتمر بمراحل النمو.
  • لا يساعد كثيرًا في فهم ما يحدث بالفعل داخل المنظمة غير الرسمية. في الواقع ، غالبًا ما تتصرف المنظمة بشكل فوضوي تمامًا وتتبع آليات التخمين والتضخيم المعقدة (نظرية المجموعة الأساسية).
  • لا تستطيع المخططات التنظيمية التقليدية التعامل مع الحدود المتغيرة للشركات بسبب الاستعانة بمصادر خارجية ، وتكنولوجيا المعلومات ، والتحالفات الاستراتيجية ، واقتصاد الشبكة.

كتاب: روبرت سيمونز - روافع التصميم التنظيمي

مجموعة المصالح الخاصة

المجموعة ذات الاهتمام المشترك بالهيكل التنظيمي.


المجموعة ذات الاهتمام المشترك (765 عضوًا)


After Effects وأداء أمبير. الجزء 18: التقديم متعدد الإطارات هنا

النهاية الأكثر ملاءمة لهذه السلسلة حول "After Effects and Performance" هي مقابلة مع Sean Jenkin ، الذي يرأس فريق "Performance" لـ After Effects ، في مقر Adobe في سياتل. شون ، كبير مديري الهندسة في Adobe ، جلس لإجراء مقابلة شاملة حول كل الأشياء "الأداء" ، وكانت شاملة لدرجة أنني اضطررت إلى تقسيمها إلى مقالتين. (هذا الجزء 2!)

إذا فاتك الجزء الأول ، فمن المنطقي أن تأخذ بضع دقائق وتلتحق به. بدأنا محادثتنا من خلال النظر في موضوع "الأداء" بشكل عام ، وما تفعله Adobe لرفع سرعة After Effects.

تم إصدار عرض متعدد الإطارات للاختبار التجريبي في مارس من هذا العام. إذا كان لديك اشتراك Creative Cloud ، فيمكنك تنزيل الإصدار التجريبي الآن وتجربته. تصيير أسرع مجانا!

ولكن حان الآن وقت الجدية. قبل بضعة أشهر ، أعلنت Adobe عن شيء ينتظره مستخدمو After Effects لسنوات عديدة: قدرة After Effects على استخدام وحدات المعالجة المركزية متعددة النواة بشكل أكثر فاعلية. على الرغم من أن الإعلان الرسمي كان على وجه التحديد حول الاختبار التجريبي "عرض الإطارات المتعددة" ، إلا أن هناك الكثير من الأمور التي تتعلق به أكثر من مجرد عمليات عرض أسرع.

يعد العرض متعدد الإطارات ، في حد ذاته ، ميزة جديدة تسمح لـ After Effects باستخدام نوى وحدة المعالجة المركزية المتعددة لتقديم أكثر من إطار واحد في وقت واحد. في البداية ، قد يبدو هذا مشابهًا جدًا للميزة القديمة (والمهملة) التي كانت تُعرف باسم "عرض إطارات متعددة في نفس الوقت". تم تحليل ميزة RMFS الأقدم بشكل متعمق في الجزء الثامن من هذه السلسلة ، ولكن النسخة القصيرة هي أنها كانت شيئًا من الاختراق الذكي. كان RMFS يقوم أساسًا بتشغيل عدة نسخ من After Effects على نفس الجهاز ، مع عرض كل إصدار في الخلفية إطارات فردية.

بالنسبة لبعض المشاريع ، على الأجهزة المناسبة ، قد يكون هذا فعالًا للغاية - لكن التنفيذ الفني كان خامًا نسبيًا. يحتاج كل إصدار من After Effects يعمل في الخلفية لتحميل نسخته الخاصة من المشروع. إذا كان المشروع كبيرًا ، فقد يستغرق ذلك وقتًا طويلاً ، وكان وجود نسخ متعددة من تطبيق After Effects في الذاكرة بمثابة إهدار لذاكرة الوصول العشوائي التي كان من الممكن استخدامها في العرض. من الناحية العملية ، كان RMFS غير متوقع وغير مستقر ، ويمكن أن يؤدي بسهولة إلى عمليات عرض تكون أبطأ مما لو تم إيقاف تشغيله. كما أوضحت في الجزء 8 ، لم يعمل RMFS أبدًا بشكل صحيح بالنسبة لي ، وكنت سعيدًا عندما قامت Adobe بإزالة الميزة من الإصدار 13.5.

في حين أن "عرض الإطارات المتعددة" قد يبدو الأمر نفسه ، إلا أن التنفيذ الفني الأساسي جديد تمامًا. ولكن الأهم من ذلك هو أن العمل المنجز لتمكين "عرض الإطارات المتعددة" قد أرسى الأساس لجميع أنواع تحسينات الأداء في المستقبل. ما يعنيه هذا بالنسبة لمستخدمي After Effects هو أن "العرض متعدد الإطارات" قد يكون أحدث ميزة للاستيلاء على العناوين الرئيسية ، ولكنها فقط الأولى في مجموعة كاملة من الميزات الجديدة التي تهدف جميعها إلى تحسين الأداء.

وضعت الأشهر الـ 18 الماضية من قبل فريق After Effects Performance Team الأساس لمجموعة كاملة من الميزات الجديدة ، وبدأ مستخدمو # 8230 AE في جميع أنحاء العالم يلاحظون!

لا يوجد أحد أفضل من Sean Jenkin ، رئيس فريق "Performance" في Adobe ، ليأخذنا عبر "Multi-Frame Rendering".
فلنتابع المقابلة من حيث توقفنا ...

كريس: ربما كان السؤال الذي انتظرته & # 8217 تنتظر أن يُطرح. ماذا يمكنك أن تخبرنا عن ميزة العرض متعدد الإطارات الجديدة؟

SEAN: منذ عامين ، اتخذنا خطوة إلى الوراء وقلنا ، حسنًا ، إذا كنا نفكر في تقديم الأداء ، فما الذي نركز عليه؟ هل نستثمر الكثير من سنوات العمل لجعل After Effects يعمل بشكل كامل على وحدة معالجة الرسومات؟ وإذا فعلنا ذلك ، فما هي العواقب السلبية لفعل ذلك؟ تعرف ماذا يحدث للنص؟ ماذا يحدث لحجم التراكيب؟ نظرًا لوجود & # 8217s فقط الكثير من VRAM. هل يوجد حل لتكوين 30.000 × 30.000 بكسل على وحدة معالجة الرسومات؟ ماذا سيستغرق؟ هل لدينا الموارد؟

كان هناك كل هذا النقاش على هذا الجانب ثم كان هناك نقاش كامل حول حسنًا ، حسنًا ، نحن لا نستخدم الكثير من مؤشرات الترابط الخاصة بوحدة المعالجة المركزية ، وربما يترك هذا & # 8217s قدرًا كبيرًا من الأداء على الطاولة. فهل يمكننا النظر في كلا السيناريوهين؟

وهكذا بدأنا في التوجه إلى مسار GPU وبدأنا في نقل التأثيرات والتحويلات وأنماط المزج ، وبدأنا أيضًا في النظر إلى الشكل الذي سيبدو عليه إذا تمكنا من الحصول على إطارات متعددة في نفس الوقت.

ما وجدناه في الاختبار الذي أجريناه ، وما هو موجود الآن مع الاختبار التجريبي للعالم الحقيقي ، وداخليًا على الأجهزة المتطورة ، هو أننا ننظر إلى 3x ، وربما 4x في المشاريع المعقدة. سيتم عرضه ثلاث أو أربع مرات أسرع. في الأجهزة المتطورة ، نعتقد أن هناك المزيد الذي يمكننا الخروج منه.

العمل الأساسي ، الذي تحدثنا عنه & # 8217ve عدة مرات حتى الآن (انظر الجزء 17)، تم الحصول على خيط خط أنابيب العرض الأساسي آمنًا. تضمن ذلك بضعة ملايين سطر من التعليمات البرمجية ، و 35 مشروعًا مختلفًا ، تعمل جميعها بطريقة تجعلها آمنة في الخيط. لذلك يمكننا الآن عرض إطارات متعددة في نفس الوقت دون أن يؤثر إطار واحد سلبًا على إطار آخر.

لقد نجحنا في العمل في إصدار After Effects Beta ، وبذلك يمكنك رؤية تأثير عرض الإطارات المتعددة في قائمة انتظار التجسيد. في غضون الأسبوعين أو الأشهر المقبلين ، ستبدأ نفس الوظيفة في العمل في معاينات ذاكرة الوصول العشوائي ، لذلك عندما تضغط على مفتاح المسافة ، ستبدأ في عرض إطارات متعددة. الهدف هناك هو الاقتراب من الوقت الفعلي.

حدت الاختبارات التجريبية المبكرة للعرض متعدد الإطارات استخدام وحدة المعالجة المركزية إلى 3 مراكز ، ولكن يمكن أن يستخدم أحدث إصدار بيتا المزيد إذا كان نظامك يحتوي على موارد كافية

إذا كان التراكب الخاص بك يعرض حاليًا معاينة بمعدل إطار واحد في الثانية ، فمن المحتمل الآن مع الإصدار التجريبي أننا & # 8217re سنصل فقط إلى 3 أو 4 إطارات ، لكنك تعلم ، إنها & # 8217s بالتأكيد أفضل من إطار واحد.

ولكن إذا كان لديك تركيبة تعرض معاينة بستة أو سبعة إطارات في الثانية ، فقد تكون قريبًا جدًا من الوقت الفعلي هناك ، وهذا يحدث فرقًا كبيرًا من حيث فهم الرسوم المتحركة الخاصة بك ، وكذلك الناتج النهائي لأي شيء تحاول البناء.

تضمن ذلك بضعة ملايين سطر من التعليمات البرمجية ، و 35 مشروعًا مختلفًا ، تعمل جميعها بطريقة تجعلها آمنة في الخيط.

شون جنكين

ثم هناك مجموعة من الأشياء التي سنكون قادرين على تمكينها في المستقبل ، مثل الدعم من Adobe Media Encoder. عندما ينتقل Media Encoder لتقديم مشروع After Effects ، سنكون قادرين على دعم عرض إطارات متعددة بشكل متزامن ، مما يؤدي إلى تسريع إخراج التكوين الخاص بك.

سيعمل ذلك أيضًا مع Premiere Pro ، لذلك عندما تأخذ قالب رسوم متحركة مضمنًا في After Effects وتحضره إلى Premiere Pro ، سيتحدث Premiere Pro بالفعل مرة أخرى إلى After Effects ويعرض إطارات متعددة في وقت واحد ، مما يؤدي إلى تسريع قوالب الرسوم المتحركة هذه .

شيء آخر ألمحنا إليه نوعًا ما ، وهو ما الذي يمكننا فعله عندما يكون After Effects جالسًا في وضع الخمول؟ هل يمكننا القيام بأشياء أخرى الآن للمساعدة في إعداد التركيبات بحيث يتم عرضها ، أو على الأقل جاهزة للعرض بشكل أسرع؟ على سبيل المثال ، بينما نجري هذه المحادثة ، كان بإمكاني تقديم مقطوعة موسيقية مسبقًا ثم الاستعداد للعمل بشكل أسرع كثيرًا عندما أعود إلى After Effects.

شيء آخر مثير للغاية هو Render Queue Notifications. باستخدام تطبيقات Creative Cloud Desktop and Mobile ، يمكنك تلقي إشعارات عند اكتمال مهام قائمة انتظار العرض. حتى أنها تعمل مع ساعتك المرتبطة. ستعرف أن العرض قد تم ، أو إذا حدث خطأ.

يتم أيضًا تحديث واجهة مستخدم قائمة انتظار العرض. لقد قمنا بجزء واحد من ذلك ، وهو الجزء العلوي للمعلومات ، لكننا نعمل على المزيد من ذلك الآن لجعل ذلك أكثر كفاءة وأبسط بالنسبة للناس لفهمه واستخدامه فعليًا.

يتم حاليًا إعادة تصميم Render Queue لتضمين معلومات إضافية حول العروض متعددة الإطارات. مرة أخرى & # 8211 CC يمكن لمشتركي CC تنزيل الإصدار التجريبي الآن وتجربته بأنفسكم.

هناك أشياء أخرى نبحث عنها & # 8217re ، حول التنميط ، ولم نتحدث كثيرًا عن هذا & # 8217t لكني & # 8217 كنت مستخدمًا لـ After Effects قبل فترة طويلة من عملي كمدير هندسي لـ After Effects. وغالبًا ما ينتهي الأمر بي & # 8217d ، كما يفعل الكثير من المصممين ، بتسلم مشروع ، وفتحه ، وليس لدي أي فكرة عما يحدث ثم أحاول معرفة سبب بطءه. نمر جميعًا من خلال النقر على مقل العيون ، وإظهار الطبقات ومحاولة تشغيل الأشياء وإيقافها ، أليس كذلك؟

هذا مضيعة سخيفة لوقتنا كله ، ولذا يجب أن نكون قادرين على إظهار عمود يظهر لك: هذه هي الطبقات البطيئة وهذا هو السبب في أنها بطيئة ، وهنا # 8217s الأشياء التي أنت يمكن أن تفعله لجعل هذا أفضل. وبعد ذلك يمكنك الاختيار ، أو يمكننا أن نقول مهلاً ، لماذا لا تفوض هذا؟ أو لماذا لا تقوم بإجراء هذا الأمر مسبقًا ثم تعيد عرضه مسبقًا؟

نمر جميعًا من خلال النقر على مقل العيون ، وإظهار الطبقات ومحاولة تشغيل الأشياء وإيقافها ، أليس كذلك؟

والآن بعد أن انفصلنا & # 8217 وجعلنا مؤشر ترابط خط أنابيب العرض الخاص بنا آمنًا ، دعنا نرى ما إذا كان بإمكاننا فعلاً صنع أشياء مثل ملف تعريف التكوين. وبعد ذلك ، كيف يمكنك الحصول على كل هذه المعلومات وإعطاء المستخدمين بعض عناصر الإجراءات التي يمكنهم اتخاذها بالفعل ...

لذلك & # 8217s حيث يكون عرض الإطارات المتعددة نوعًا من الكلمة الشاملة ، لكننا نتحدث حقًا عن ما يمكننا فعله الآن بعد أن أصبح After Effects أكثر أمانًا بكثير؟ وكيف نستفيد من الأجهزة التي بها 16 ، 32 ، 64 نواة ... وهناك AMD 3990X مع 128 نواة؟

إذا تمكنا من الوصول إلى كل هذه النوى ، فلن نتمكن فقط من جعل عروضك فائقة السرعة ، ولكن يمكننا القيام بمجموعة كاملة في نفس الوقت. هذا هو ما كنا نحاول تحقيقه هنا. إنه & # 8217s مشروعًا ضخمًا ، ليس فقط بالنسبة لنا داخليًا ، ولكن لمطوري الطرف الثالث الذين يصنعون المكونات الإضافية. لقد كان لديهم & # 8217 نموذج برنامج كانوا يعملون معه لمدة 15 أو 20 عامًا. If we are making them rethink their entire model, we still need to keep After Effects working with the old versions of the plugins to some degree.

But as they migrate and make their plugins support multi-frame rendering, it’s unlocking the performance that maybe has been stuck, because it’s been After Effects that’s the cause of it being stuck. For example, if we think of an effect where the developer has done a really good job of porting it to run on the GPU. Those effects are still using the GPU really well, but while the GPU is busy, we could be doing a whole lot of other render steps on the CPUs, and rendering other frames rather than it all being stuck, one thing behind each other.

That will take us to a stage where we’re like, oh the GPU is going great, the CPU is doing this thing, and we’re writing to disk with this frame, and all of those things are happening concurrently.

Suddenly it makes you feel really good that you spent a whole bunch of money on your machine but also, you’re actually getting results a lot faster.

CHRIS: Can you detail how much more sophisticated the new multi-frame rendering feature is than the older render multiple frames simultaneously feature?

SEAN: I can do my best to try and explain that. So, in the old world, you could pick a number of background instances of After Effects that would start up. And then After Effects would try and split the composition into a certain set of frames and then it would pass those off to render on those background instances.

That certainly had a lot of benefits and things like Render Garden today is doing something similar to that.

The problem that you run into is that one instance of After Effects requires a certain amount of RAM to start up and has certain expectations that it’s the only application of After Effects running. If you start two or three or four or ten or more of those, you’re now having to use RAM that should be used for rendering, just to host the After Effects instances.

Each instance of After Effects doesn’t know about the other instances of After Effects, and so if an effect was using memory in a strange or unique way, or writing to files to disk, the effect may have no idea that it’s overwriting another instance of itself.

The old RMFS worked well for outputting file sequences, but the overhead of trying to take a QuickTime file, distributing frames across multiple background instances, and then merging all those back together was complicated at the very least.

So with the old system, the Render Multiple Frames Simultaneously feature, there’s all these sort of weird architectural things going on so you’re not getting the most out of your system.

My understanding from talking to the team over the last few years, is that a lot of people oversubscribed their system. They would find the setting for the number of background instances and they would set it to 16, but the machine could never handle 16, and so they’re actually getting worse rendering performance than normal rendering. If they took the time to figure it out then maybe they could get better performance, but the vast majority of people either didn’t know how to, or they just didn’t use it. (this problem was discussed at length in part 8 – Chris)

So as we went to build the new multi-frame rendering, we wanted to make sure that only a single instance of After Effects was running. Any plugin thinks there’s just one After Effects, and there’s only one instance of me running. And we’re doing all of the work to make sure that the same instance of an effect can be run concurrently over lots of different frames. The developers have to do some work to make it thread safe, but effectively MFR is transparent to the effects.

The big thing from an After Effects perspective is that now we can see all of those concurrent renders happening, and so we can actually start to do more intelligent things like – oh, you know what – when we started to do 4 frames at the same time instead of three, the GPU started to run out of VRAM and we’re actually running slower than we were. So, we can scale back to three concurrent frames. Or- there’s spare CPU cores, so we could actually probably go to 9,10, 11, or 12 frames concurrently. We can actually make those decisions dynamically and our goal, by the time we ship MFR, is that every single machine in the world will get the best performance for their After Effects render. We’ll be paying attention to their hardware, and their compositions, and dynamically adjusting what we’re actually doing.

There’s a lot more that we think we can do there. As we finish out this work, just to make that entire experience better, we want to add options so users can tell After Effects: I want to be able to do email or I want to be able to work in C4D while I’m rendering in the background, and then we can make intelligent decisions about rendering performance rather than taking over your entire machine. Fundamentally, we now just have a much better idea of what’s happening and After Effects can optimize for the hardware and the composition as opposed to you as a user having to try and figure it out every single time you go to render.

CHRIS: All of it makes perfect sense, especially the bit about needing backwards compatibility with plugins and what it means for developers. When I interviewed the software developers a couple of articles ago, that was a recurring theme – Adobe just can’t change the API with every release because they rely on that third party market.

So if you are going to make a big sweeping change to the API, one limitation that’s been in After Effects since day one is a 2 gigabyte frame size limit. That’s something that I’m starting to run into now I’m doing all my work in 32 bit, and I’m working with larger and larger composition sizes. If you’re going to overhaul or introduce a new API, will we finally see the two GB frame limit lifted? Is there a reason that it’s still there?

SEAN: Fundamentally, it’s because it’s a 32-bit number that’s storing some of those things. You’ll find other limitations like that, such as a UI panel can’t be more than 30,000 pixels high or wide. There’s a number of those fundamental things that have existed and haven’t been fixed because they impact so few people. Up until now that it hasn’t been an issue.

But as compositions get more complex as we move to 4K, 8K and beyond, those are things that we do have to think about. Is there an immediate plan to change that 2 gig limit? Not immediately, but it’s on us to be listening to people’s needs for that. So, if there’s you and other people that are affected then let us know – I’m hitting this limit – then we’ll have to figure that out. It might mean that a bunch of effects need to be updated to support a change there.

CHRIS: Yes, I’d assumed something like that.

SEAN: We do have the ability to version certain API’s so we can say OK, look if you’ve got an effect and it’s going to do this, that’s version one of the API. But you need to use version two to support a different sized composition limit, or something like that.

CHRIS: With multi-frame rendering there’s an underlying philosophical approach of farming out separate frames to different CPU cores. Have you considered, or is there a team looking at, say, a tile-based renderer where instead of multiple CPU cores rendering different frames you’ve got multiple CPU cores rendering different parts of the same frame?

SEAN: Yeah, so there’s actually two different investigations going along. There is an early investigation in doing tile rendering, to see how much further we can push the GPU to larger composition sizes, but that’s still pretty early on.

The other piece is: How do we take an individual frame and render it across multiple threads? Right now, we’re rendering multiple frames, and each thread has one frame to render. That’s the core philosophy of multi-frame rendering, it’s lots of threads, but each one of those threads only has one frame.

Then there is the sort of inverse version of that which is one frame has multiple threads. And that is something that we have spent a lot of time internally thinking about. We couldn’t work on it until this first version of Multi-Frame rendering was complete. It’s taken all this time to get the code thread safe.

The next step is, when you go to render an After Effects composition, we build what we call a render tree in the background. This process takes all the layers and all of the effects and all the transforms, all the masks, everything that makes up the After Effects composition and actually breaks it up into a tree, or something that looks like a node-based system, in the back end. And then we traverse that tree to be able to say OK, well we need a square and then we need to transform that and then we need to apply an effect to that, whatever it takes to output that final composition frame.

How can we break that render tree up so that we can say OK, this portion can be safely done on one thread and this portion will be done on another thread, and then how do we merge all of those pieces back together? Our early estimates show that we might be able to improve performance 50% if we can make that system work. I wouldn’t quote me on that, because it’s very, very early on.

We don’t know if we’re actually going to end up prioritizing that as work, but that’s the sort of two angles for tile-based rendering, and then also breaking up a single frame into its renderable nodes.

CHRIS: One recurring theme in my article series is bottlenecks, when you have system bottlenecks causing slowness that’s not After Effects’ fault. I’ve personally sat next to designers using a $12,000 machine and they’re reading ProRes files off a USB 2 hard drive and things like that. Is there a way that After Effects can tell that? I’ve freelanced at studios with multiple employees and they talk about “the server”, and “the server” is a consumer grade Synology which is battling away trying to keep up with a room full of artists.

Is there a way that After Effects can say – Hey, it’s not my fault, you know, the USB drive or the network server is the problem?

SEAN: So today – no. By the time we’re finished with multi-frame rendering, then quite possibly. That has been one of the core things that we need to be able to analyze – compositions and hardware resources, and then optimize for that. We need to be watching CPU, RAM, VRAM, disk throughput, all of those sorts of things and so our goal here is to figure out a way to take that information and surface it to you so that AE could tell you that it’s using 100% CPU and maybe you should get a faster CPU. Or AE is running out of RAM about 3/4 of the way through a render. Maybe you should get more RAM, and then that will let the render complete, and also be faster.

So, we’re going to have all of these key points of data, and what we’re now trying to figure out is how do we present that in a way that a user can take action on that. System throughput, network speed, disk speed, all of those things we can get access to.

But then you know there’s that additional step of ‘How do we tell users what’s happening?’ so they can make a good choice.

CHRIS: You’ve mentioned a few times about the potential for After Effects to do stuff in the background. In terms of my personal workflows, I’m a huge fan of pre-rendering, I pre-render a lot, whenever I can. I use BG renderer and I tend to do it manually. I do sometimes use proxies, but I often find myself doing it manually because I have to say I don’t find the proxy system always intuitive, and it’s a bit limited. So this is an example of an area where performance isn’t a specific hardware or engineering challenge, it’s more of a workflow tied to the user interface.

From Adobe’s perspective, how do you separate performance feature requests that need engineering solutions to those that are actually a user interface issue, trying to make something easier for the user?

SEAN: It is the crux of many conversations every week, which is what are we prioritizing, how do we prioritize it, who we prioritizing for? Some of it’s just fundamental architecture and engineering.

For example, if we know that that pre-comp is slow and you’re working on something else in AE, and that pre-comp is not being touched, we could go and render that in the background. At least get it to the disk cache for you, and so the next time you go to playback, that’s already done. You don’t have to think about proxying it or pre rendering , it’s already down on disk and it’s usable.

That’s one example of the types of things we’re trying to now think about, about how we can do that, something we haven’t been able to do in the past.

The workflow situation where we AE detects that this comp is complex, but we see layers 11 through 50 could probably be made faster. Do you want us to do that for you? That could be something else that we start to think about. It’s going to take time to do that render, but maybe you’re OK with that and AE spins that off in the background. You continue to work and it’s just ready when it’s ready.

So yeah, those are things we definitely want to start to think about taking advantage of.

CHRIS: One thing I haven’t mentioned is the disk cache. I’ve got a high speed NVMe disk cache, but is using a disk cache a bit like using the older Render Multiple Frames Simultaneously feature, where if it’s too big or too small then rendering ends up slower than it would be without it? Or is it always a good thing?

SEAN: At this point it’s always a good thing. If we do have to start clearing out the disk cache, that’s going to slow things down to some degree. But if it’s on a fast drive and it’s large, that’s great, yeah.

Honestly, in a lot of our internal testing that we do right now, we turn the disk cache off so that we’re not having to purge the disk all the time for our tests. It’s funny when I turn it back on I’m like, oh, this is even faster! It’s one of those things where you stop using the disk cache and you just get used to it, and then you turn it on and it’s like, oh it’s actually better.

One of the things we’re trying to talk through internally, just hypothetically, is what would happen if we didn’t have a RAM cache? If we saw that you had an NVMe drive and it was always fast enough to get frames from the disk up into the display pipeline, do we need a RAM cache? Because the ram cache has that sort of issue where if you can run out of RAM cache, then you can’t cache the entire composition.

But if we can fit everything on the disk, and if we can get it off the disk fast enough, then do we need it in RAM? That could be a user preference one day or something like that, where we’re always just writing directly to the disk cache and reading from it. The disk cache is an interesting thing, and it’s probably got more potential value than we’re using it for right now, it’s probably one of the issues that we need to deal with.

When you think about what’s going on in the gaming world, what Xbox and PlayStation have been able to do in terms of streaming frames, or loading content off the SSD fast enough to get it into memory and rendered, then we should be able to start thinking about taking advantage of those techniques too.

CHRIS: I know that when people start talking about performance, for some of them it just means a hardware recommendation. I assume Adobe is hardware agnostic, but are there technical differences between, say Intel and AMD which the end user may or may not be aware of?

SEAN: We’ve tried to be hardware agnostic, and often will defer optimizing some bit of code because we don’t want to be faster on only a particular piece of hardware. The Apple Silicon hardware is something we’re going to spend more time on, as we make After Effects work on it, and making it work with the systems that are on that chip – whether it’s machine learning or the neural network or video encoding or anything like that, we want to take advantage of that hardware when it’s there.

It’s been more of – After Effects is a generic solution that needs to work on Mac and Windows, all the sorts of flavors on each OS, and we want it to be consistent. So, we haven’t spent the time to do that – to optimize for specific hardware. That said, we are starting to shift. I mentioned this on the Puget Systems interview, but the AMD Threadripper CPUs have a different caching structure to Intels. Every four or eight cores has a different cache, whereas on the Intel side it’s one cache shared across all of those CPUs. Both of the architectures have benefits and drawbacks. But if we can optimize when we’re on an AMD Threadripper and we’re working on frames 1 through 8, and that’s all going to be on one CPU block, cores 1 through 8, we can put all of the data into that cache and not spread it around.

It’s probably a mental and paradigm shift that we’re starting to work through to be like, OK, you know an Afterburner card in a Mac – how do we take advantage of that so that we get Prores decodes and encodes faster? These sorts of things we’re now starting to think more and more about.

After Effects is a generic solution that needs to work on Mac and Windows, all the sorts of flavors on each OS, and we want it to be consistent.

CHRIS: It’s obviously been a huge undertaking just to get the multi-frame rendering implemented. Have you looked beyond that to things like overhauling watch folders and implementing a built-in Adobe render farm?

SEAN: I haven’t, there might be other people who are thinking about it, but I certainly haven’t at this point now.

CHRIS: Because there’s a point at which a render farm is a next logical step. You can give people hardware advice for a specific system, and you can talk about GPUs and so on, but there’s a point at which you’ve spent as much money as you can to get performance out of one box. The next step is to just build a render farm, and obviously there are people who cater for that, like Thinkbox with Deadline and so on. But I also do a lot of regular work for a studio that still relies on the old After Effects watch folders and that is a bit painful. I don’t think watch folders have been touched for 25 years.

SEAN: Sounds about right. I’m not going to say people aren’t thinking about it, whether it’s Adobe Media Encoder and thinking about how that extends.

An obvious extension is rendering in an AWS or an Azure cluster or something like that. Imagine if you could host licenses of After Effects up there, and you could split your project and then have multi-frame rendering on top of that. Could you take a 12 minute single frame render, throw it to the cloud and have that render in 20 seconds? I think that’s a bit of a dream for me to see that happen one day. But I can’t confirm anything is happening right now.

Right now, we’re going to finish what we’ve started with Multi-Frame Rendering.

CHRIS: What actually is the difference between AE, AE without a GUI, and aerender?

(NB. This might seem like an unusual question. But for 3rd party developers who’ve written tools to assist with After Effects rendering, including BG Renderer, Render Garden and Render Boss, there are different technical options for background rendering.)

SEAN: There’s actually 3, maybe 4 different versions of the After Effects renderer. There’s After Effects that you run that has a UI. There is a way to run that version of After Effects where the UI doesn’t appear. Then there’s another thing called aerender, which is what people generally use to render from the command line. Internally we have another thing called AE Command, which may one day replace aerender but we haven’t had time to finish it. Then there is something we call AElib, which is basically the communication between Premiere Pro and After Effects when you’re doing motion graphics template sharing.

All of those run in various ways, they all end up calling the same code, but there are various entry points.

CHRIS: I think one of the big advantages of aerender is that it very explicitly says on the Adobe website that it doesn’t require an additional license. Once you’ve got your CC subscription for After Effects, it’s very generous, you can run as many render farm nodes as you want, but I was wondering whether running the GUI less version of AE has that same freedom or whether you’re using up one of your two licenses.

SEAN: You’ll still be using your licenses there it’s just not presenting the UI.

CHRIS: Just looking back over my notes, one of the big things in my series was talking about bottlenecks and throughput and bandwidth. Probably bandwidth because that’s what After Effects does. It’s streaming, you know “all of the pixels all the time…”

SEAN: All the pixels all the time, yeah.

CHRIS: Does that reliance on bandwidth translate to some hardware you can add to your system? Like if you’re planning on building an Intel system, should you wait a month for a PCI 4 motherboard? Is that gonna help? Personally, I always advocate for SSD’s and fast NVMe drives. Do you have anything to add just on the topic of bandwidth and After Effects?

(NB. At the time I interviewed Sean, Intel motherboards with PCIe v4 hadn’t been released yet. It’s possible that by the time you’re reading this, Intel PCIe v4 motherboards have become available – Chris)

SEAN: Yes, there are use cases right now where it is possible to saturate the PCI bus, that’s PCI version 3. PCI 4 is a little bit harder to saturate, but as we add more and more threads, and if that involves transferring data to the GPU to run certain effects processing, that bus is certainly going to be more and more busy. I don’t think we’ve got a situation where we’ve been able to saturate a PCI 4 bus at this point.

So that would be one piece of advice- if you are looking to buy a system in the next six months, I would say hold on for a couple more months. If you can wait for the point where you can test the shipping version of multi-frame rendering, you can see exactly what its demands are.

We’re working with Puget Systems, and the Dells and HP’s and other OEMs to update their configurations and recommended specs. In the past it has been an Intel CPU with 8 gig of RAM, maybe 2 gig of GPU VRAM. That’s no longer going to be enough to really take advantage of multi-frame rendering to the extent you want to. Soon you’re going to be looking at 16 to 32 cores, and you’re going to be looking at 64, 128 gig of RAM, and you’re going to want to get as much video RAM as you possibly can.

Puget Systems, makers of high-end workstations that are specifically tailored for graphics professionals, interviewed Sean about Multi-Frame Rendering. That’s Sean on the right. You can watch the interview over at YouTube.

We’re going to come out with some guidelines, such as for this spec machine, here’s the performance improvement we saw. Then you can make a choice as a consumer to say, OK, well, I’ve got $3000 to spend. This is going to be the best machine that we can come up with. Or if I’ve got $10,000, here’s what we can go with.

The CPU clock speed is still going to be super important. A little less important than it has been in the past, because we can have more cores going, but at the same time it is going to have to be some sort of balance there.

CHRIS: When I was interviewing the third-party software developers, a few of them had some great quotes. One of them was talking about how sometimes software development just takes as long as it takes. He mentioned a quote “It takes nine months to have a baby, no matter how many women you’ve assigned.”

SEAN: The mythical man month!

CHRIS: Yes! What parts of After Effects, specifically talking from your experience at Adobe, just takes as long as it takes? i.e. What can’t be sped up by just hiring a bunch of programmers?

SEAN: I think one of the things that people lose sight on is After Effects being part of Adobe, and being part of the Creative Cloud Suite. And so there are a lot of things that a lot of customers probably don’t care about that we still have to do. You know the home screen? That, for instance, is a thing that every Creative Cloud product has. Would we, if we were After Effects and only After Effects, have spent time building a home screen? I don’t know and it’s hard to say, but that’s an initiative that is part of the Creative Cloud suite. There are things as you plug into Creative Cloud, whether it’s language support or it’s installation or versioning or synchronizing preferences or talking to back end systems. And there’s a lot of stuff that no-one has any clue that we have to do, and we have to spend a lot of time doing that.

So that’s one thing that sort of waylays us from fancy features that really make a difference.

Another piece is – Yeah, we’re working in an organization with 400 other engineers, and so when you make a change, if it’s in a shared piece of code, you might be affecting Premiere Pro and Audition and Prelude and whatever other products are in the codebase and so you, as the developer, using our entire infrastructure, have to spin up builds of all of those products and make sure that everything is still working with your changes. Even changing one line of code could cause you four or five hours of building different products, and then testing those products.

We have moved to a model where we don’t check in code until our testers have run that code and tested the product. So, it might take a day for someone to implement something, and then we might spend a week testing it and then it gets checked in. Then it goes into the beta process and then we have, days to months where it’s in our community and we’re getting feedback on it. We might have to iterate multiple times.

So, it’s just being part of a larger organization, and one with a 27-year-old code base. Now you know there is legacy code in there. When people first come to work on After Effects, it may be code that no one’s ever seen in their entire coding career because we’re going back that far. And I have had the privilege of touching code that was written in 1995 and being like – oops, I don’t want to break this. I know that this code is used throughout the app, and you’ve just got to be very careful as you touch it.

CHRIS: OK, so when I wrote up a list of notes for our interview, I had two questions which I thought you probably get asked a lot. The first one, which I know many users have asked, is ‘why can’t After Effects use the Premiere engine?’, and you’ve answered that in great detail, thanks. (see part 17 – Chris)

So I think it’s time to finish off with the second one. And while this might not be as common as the Premiere question, I’ll admit I’ve spent a very long time pondering this, and I know I’m not the only After Effects user to do so.

Has it ever been discussed to just draw a line under After Effects as it is – freezing it and calling is something like After Effects Classic. Then starting again from scratch, rewriting it from the ground up and calling it After Effects Pro?

SEAN: I mean, has there been a conversation like that? نعم على الاطلاق. I believe you’ve asked other people how long would it take to rewrite After Effects if we were going to start again. We internally refer to that as “What is After Effects.Next?”

But we also ask ourselves: if we decided to do that, then what would be the first three things we would go on to build, and would they look any different than they look today?

And that’s a question that we haven’t found a strong enough answer to go off and do it yet.

We’ve talked about things like – What would it look like in the mobile space? Is there a reason to have After Effects running on a mobile device? It’s hard to know. That’s a topic that we want to talk about, but we’re not sure that people want to make motion graphics at pro quality levels sitting on an iPad. Maybe they do and we just don’t know it yet.

Or is there a simplified version of After Effects? I’m not going to say “After Effects Express” or something like that, but is there a simplified version to make that easier? Maybe, but should we just simplify the UI and keep the current version of After Effects and just make it easier to start with for a user? Maybe that’s the right approach to that option.

So yes, conversations like that happen every time we have a manager offsite for After Effects, but we don’t have a compelling reason to do it right now.

One recent reason for asking this question though occurred as we have thought about Apple Silicon. Do we just port After Effects as it runs on the Mac today to work on M1/Apple Silicon natively? Or are there things that we’ve held onto from a legacy standpoint that we should end of life? Then we could make the Apple Silicon version a little bit more streamlined… but the answer is pretty much no. We’re going to port it, that’s what people expect After Effects to do, and as much as we can make work, we will make work.

“What’s after After Effects” is an older article of mine, looking at animation features and UI issues

CHRIS: I’ve spent a lot of time thinking about this sort of stuff, you know, what happens after After Effects?

First of all, I see After Effects being defined by the fact that it’s timeline based and layer based, so for me that’s what After Effects يكون. It’s never going to be a node based compositor. Anyone who asks for nodes, you just say go use Nuke, or Fusion. There’s no reason to make After Effects node based.

Then you ask something like – OK, so we have a timeline, because After Effects is timeline based, and we have layers, because After Effects uses layers. After Effects يكون layers in a timeline. But how do you mix 2D and 3D layers in a timeline? Because at the moment I hate binning. I think that it’s quirky. It takes years to understand. So mixing 2D and 3D layers in a timeline is a fundamental UI problem to be solved.

(NB. If you haven’t heard the term before, “binning” refers to the way groups of 3D layers are rendered seperately and combined with 2D layers – Chris)

And then you’ve got annoying inconsistencies like the coordinate systems. This is a real pain, especially when you get into script writing. Layers are anchored from their top left, with Y inverted. But then you have shape layers, which are centered around 0. But then you also have 3D layers, which default to being centered around composition space. So you have three different coordinate systems in the one app.

So I just sit there and think – a lot of the big problems with After Effects are actually to do with the user interface. I think if anyone was going to rewrite After Effects, the difficult issue isn’t GPU rendering, or tile-based renderers, it’s not talking about multi-core support, or Open CL versus CUDA or something like that. Those problems have logical solutions.

The hard part is what do you actually want the interface to look like? Like how do you mix 2D and 3D layers, while retaining the core identity of what After Effects يكون؟ Because if you make everything 3D then the timeline/layer system breaks, and all of a sudden After Effects is just another 3D app. So then the problem becomes – how do you make After Effects “After Effects”, without it becoming a Cinema 4D clone?

But then if you don’t make everything 3D, and you keep the distinction between 2D and 3D layers, then how do you work with them, differentiate them, layer them with blending modes? And I don’t have answers for that. I guess if I did I’d be a UI designer, and I’d be a software designer.

It’s the same problem with expressions. How do you make expressions easy for a user? Because even now something as simple as keyframing the amount of wiggle, well you still need to know what you’re doing. It shouldn’t be as hard as it is.

So I just think that the biggest problems and the hardest part to change is the user interface. I think if anyone ever wants to replace After Effects or rewrite After Effects from scratch, you don’t worry about the technical side of it, you’ve got to solve interface problems. No one has done it yet, I mean.

I’m just commenting on this because there are so many users out there who just want GPU rendering, or are saying hey, why don’t Adobe rewrite it from scratch. But my opinion is that I don’t think that GPU rendering is the hard part. There’s other stuff to fix first. Stuff like rigging and physics. How do you mix forward kinematics with inverse kinematics – you want a character to pick up a piece of text and hand it off to another character? Or mixing physics with keyframes. Or how do you toggle parenting on and off. How do you mix expressions and keyframes – how do you make it easy, you know?

SEAN: Yeah, After Effects for a long time has been built by engineers and not by designers. But over the last couple of years, we have grown our design team from basically half a person to 3 ½ people.

The problem space of how you mix 2D and 3D is something that’s actually being deeply looked at right now, and that may fundamentally change some of the way we think about binning, or not binning things, and those sorts of questions I think are important for you to keep raising because we’re listening to that. There is stuff happening, it’s early. It’s hard to talk about too much right now because we’re still trying to figure out what that all means.

But you know, the UI is certainly something… we’re conscious of it being too hard for beginners. It’s still too hard for a lot of people who know what they’re doing. There’s a lot of stuff that’s just sort of hidden away, and we need to stop thinking like engineers and start thinking like designers and users of the product to make this the best possible thing we can.

My response to all this is that you’re not wrong on any of it, and these are areas that we want to address.

CHRIS: Brilliant. Thanks so much for your time and willingness to talk about everything.

Creative Cloud subscribers can download and test out multi-frame rendering RIGHT NOW!

Something I think about a lot is what users expect when they buy new hardware. If you spend $1,000 to upgrade your GPU, then what do you expect from render times? Rendering twice as fast, 25% faster, more or less? Common benchmarks for 3D games can often show relatively modest frame rate increases between old and new GPUs, and CPUs can be even less. From this perspective, the ability to have After Effects render a composition twice as fast just by downloading a Beta version – for free – is incredibly exciting. As as we’ve just heard, this is only the beginning. As the After Effects Performance Team continue their work, the improvements in performance that we’ll see from software updates could well outpace any improvements that rely on expensive hardware.

Looking for the Beta to try for yourselves? Look in the Creative Cloud app for the test-tube icon. That’s the Beta symbol.

I hope that readers who’ve made it this far through the series are grateful to Sean, and the After Effects team, for their help in this series on “After Effects and Performance”.

Overall, it’s clear that After Effects is in good hands and judging from the huge progress that the Performance team have made in only 18 months, we have a lot to look forward to in the future.

This is part 18 in a long-running series on After Effects and Performance. Have you read the others? They’re really good and really long too:

Part 2: What After Effects actually does

Part 3: It’s numbers, all the way down

Part 8: Multiprocessing (kinda, sorta)

Part 17: Interview with Sean Jenkin, Part 1

And of course, if you liked this series then I have over ten years worth of After Effects articles to go through. Some of them are really long too!

Shop with

Filmtools

Filmmakers go-to destination for pre-production, production & post production equipment!


Planetary Atmospheres

Earth is not the only world with an atmosphere. All of the planets - and even a few moons - in our solar system have atmospheres. Some have clouds, wind, rain and powerful storms. Recently scientists have also begun to get glimpses of atmospheres of planets in other solar systems.

Each of the planets in our solar system has an uniquely structured atmosphere. The atmosphere of Mercury is extremely thin and is not very different from the vacuum of space. All four giant planets in our solar system - Jupiter, Saturn, Uranus and Neptune - have very thick, deep atmospheres. The smaller, rocky planets - Earth, Venus and Mars - have much thinner atmospheres hovering above their solid surfaces. The atmospheres on moons in our solar sytem are typically quite thin. Saturn's moon Titan is an exception - air pressure at the surface of Titan is higher than on Earth! Of the five officially recognized dwarf planets, Pluto has a thin, seasonal atmosphere containing nitrogen, methane and carbon monoxide, and Ceres may have an extremely thin atmosphere of water vapor. But only Earth's atmosphere has the layered structure that allows enough light energy to enter and be trapped for warmth, but also shields us from too much harmful radiation. This important balance is necessary to maintain life on Earth.


شاهد الفيديو: طبقات و لون التربة الدالة على قرب الكنز الدفين.!