سر كشف مهندس مايكروسوفت لتباطؤ دخول ويندوز 7 بالخلفيات!
منذ أسبوع، قمنا بنشر تقرير عن كيفية تسبب ويندوز 11 في إعادة ظهور خلل عمره 20 سنة في لعبة GTA San Andreas من خلال تغيير تعامل النظام مع الذاكرة، مما كشف عن خطأ قديم في شيفرة اللعبة.
يبدو أن ويندوز قد أظهر على مر السنين سلوكيات غريبة وخفية، وقد ألقى توضيح حديث من مهندس مخضرم في مايكروسوفت الضوء على مثال تاريخي آخر مثير للاهتمام.
في عام ٢٠٠٩، ومع طرح ويندوز ٧ تقريبا، رصد أعضاء منتدى نيووين وعدد من المستخدمين مشكلة محيرة: حيث كانت شاشة الترحيب تحتاج أحيانا إلى وقت طويل، يصل إلى ٣٠ ثانية، قبل أن تختفي بعد تسجيل الدخول.
وكان هذا التأخير مرتبطا بخيار بسيط لتحديد لون ثابت كخلفية سطح المكتب.
وأكدت مقالة دعم من مايكروسوفت لاحقا وجود هذه المشكلة لدى مستخدمي ويندوز ٧ وويندوز سيرفر ٢٠٠٨ R2 الذين يستخدمون خلفيات ذات ألوان ثابتة.
ريموند تشين، المهندس البارز في مايكروسوفت والكاتب لمدونة "الشيء القديم الجديد"، أوضح مؤخرا الجانب التقني وراء تأخير تسجيل الدخول.
بحسب تشين، الذي يستخدم لونا واحدا كخلفية منذ ويندوز 95 للذاكرة وتسهيل الإبلاغ عن الأخطاء، فإن عملية تسجيل الدخول في ويندوز تتطلب تحميل مكونات عديدة معا، مثل شريط المهام، وخدمات النظام، وأيقونات سطح المكتب، والخلفية.
النظام ينتظر حتى تصبح جميعها جاهزة.
بعد الحصول على الموافقة، أو انتظار 30 ثانية، تتلاشى شاشة الترحيب ويظهر سطح المكتب.
يفسر تشين أن سبب التأخير البالغ 30 ثانية يعود لعدم إرسال أحد المكونات إشارة "الاستعداد".
يوضح ذلك من خلال مثال بسيط لكيفية ظهور رمز تحميل خلفية الشاشة:
InitializeWallpaper()
{
if (wallpaper bitmap defined)
{
LoadWallpaperBitmap();
}
}
LoadWallpaperBitmap()
{
locate the bitmap on disk
load it into memory
paint it on screen
Report(WallpaperReady);
}
// Original code
InitializeDesktopIcons()
{
bind to the desktop folder
enumerate the icons
add them to the screen
Report(DesktopIconsReady);
}
// Updated with group policy support
InitializeDesktopIcons()
{
if (desktop icons allowed by policy)
{
bind to the desktop folder
enumerate the icons
add them to the screen
Report(DesktopIconsReady);
}
}
وفقا لمقالة دعم Microsoft، تم إصدار إصلاح فوري لحل هذه المشكلة لنظامي التشغيل Windows 7 وWindows Server 2008 R2 في نوفمبر 2009.
تذكر قبل كتابه اى تعليق قول الله تعالى: مَا يَلْفِظُ مِنْ قَوْلٍ إِلَّا لَدَيْهِ رَقِيبٌ عَتِيدٌ [ق:18]؟