اختبار تحسين صور composer

متابعة للنقاش من تحسين الصور الاختياري قبل الرفع:

هذه الميزة متاحة الآن للاختبار هنا في ميتا. عند رفع صورة هنا، سيتم إعادة تحجيمها/ترميزها في متصفح المستخدم قبل إرسالها إلى الخادم.

يرجى تجربتها في هذا الموضوع أو في مجتمعك الخاص من خلال تفعيل إعداد الموقع “composer media optimization image enabled”. سنتركها معطلة افتراضيًا أثناء فترة الاختبار.

لإيضاح الفروقات، إليك مثال قبل/بعد:


الصورة مأخوذة حديثًا من هاتفي، وانخفض حجمها من 3.7 ميجابايت إلى 416 كيلوبايت باستخدام إعداداتنا الافتراضية.

الهدف من هذه الميزة هو ما وصفه @sam هنا:

يأتي Discourse مع حد أقصى لرفع الملفات يبلغ 4 ميجابايت افتراضيًا. الآن يمكنني سحب وإفلات ملف JPEG بحجم 58 ميجابايت:

وسيرتفع الملف بنجاح.

46 إعجابًا

ها هي صورة بحجم 57 ميجابايت لبعض الأشجار التقطتها قبل 10 سنوات، وسُحبت إلى المحرر

كان ذلك سريعًا جدًا! :rocket:

29 إعجابًا

عمل رائع!

نقطة صغيرة تتعلق بمقياس نسبة التحميل. عند رفع صورة HEIC بحجم 6.1 ميجابايت، لاحظت أن المقياس يصل إلى 100% بسرعة نسبيًا، ثم يبقى على هذه النسبة لمدة 50 ثانية تقريبًا قبل اكتمال العملية. قد يؤدي ذلك إلى بعض الارتباك أو إلغاء العملية.

فيديو للمشكلة: Image optimization loading percentage | Loom

20 إعجابًا

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

14 إعجابًا

هذا شيء كنت أنتظره منذ فترة طويلة :heart_eyes: شكرًا لك يا فالكو.

لدي سؤال: هل يتم تحسين الصور القديمة مع إعادة نشر المنشورات، أم فقط الصور الجديدة التي تم رفعها؟ شكرًا مرة أخرى :slightly_smiling_face:

4 إعجابات

لم تقم باختبار هذه الميزة الجديدة لأنها لا تعمل مع صور HEIF المستوردة. كنت أرغب في العمل مع صيغة HEIF، لكن دعم المتصفحات لفك تشفير هذه الصيغة غير موجود حاليًا HEIF/HEIC image format | Can I use... Support tables for HTML5, CSS3, etc. لذا، فقد قمت باختبار تحويل HEIF على جانب الخادم الذي يعمل بالفعل منذ فترة طويلة.

كان بإمكاني جعلها تعمل من خلال تضمين مفسّر WebAssembly، لكن هذه الصور نادرة جدًا لدرجة أنني لم أجد ذلك ضروريًا لأننا نملك بالفعل عملية التحويل على جانب الخادم التي عمل عليها @pmusaraj.

في الوقت الحالي، يمكن لهذه الميزة استيراد صور JPG وPNG وGIF. يمكنني بسهولة إضافة دعم لصيغ AVIF وJPEGXL وTIFF وسأقوم بذلك قريبًا.

نعم! قم بتعديل القيمة composer media optimization image kilobytes optimization threshold إلى القيمة المطلوبة.

لا، لن يتم ذلك. تحدث هذه العملية في متصفح المستخدم، في الوقت الفعلي قبل الرفع. أما إعادة البناء (Rebake) فهي عملية تتم على جانب الخادم، لذا فهما مختلفتان تمامًا.

13 إعجابًا

(صورة بحجم 28 ميجابايت التقطتها من وسط مدينتي خلال فترة العزل الأولى في عام 2020)

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

تجمعت النسبة المئوية عند 0% لفترة طويلة، ثم زادت بسرعة (أسرع مما تتوقعه من اتصال بسرعة 1 ميجابت/ثانية)، ثم تجمعت عند 100% لفترة طويلة قبل ظهور هذه الرسالة:

لاحظ أن الصيغة الأصلية للصورة هي JPG وليست PNG… :thinking:

ظلت عبارة [Uploading: 20200328_141218.jpg...]() موجودة في المنشور بدلاً من عرض الصورة.

3 إعجابات

مشكلتان:

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

    يجب علينا إعادة تحميل الصفحة للتخلص من ذلك.

  1. من المحير نوعًا ما للمستخدم أن الموقع يسمح بإرسال وعرض صورة بحجم 50 ميجابايت، ولكن عندما أحاول إرسال صورة بحجم 21600×21600 ووزنها 108 ميجابايت (من هنا)، تظهر لي هذه الرسالة:

    الالتباس هنا يكمن في أن الصور الأكبر من 4 ميجابايت ممنوعة، بينما يُسمح في الواقع بالصور التي يتجاوز حجمها 50 ميجابايت.
    ما هو السبب الحقيقي الذي يمنعني من رفع هذه الصورة؟

إعجابَين (2)

صورة رائعة! الانتقال من 28 ميجابايت إلى 113 كيلوبايت يُعد نسبة ممتازة!

إذن، هذه الميزة الجديدة تُغيّر فقط مرحلة “ما قبل الرفع”. نحن نتدخل في الملف الذي تحاول رفعه، نطبق عليه التحولات، ثم نستبدله بالملف الأصغر حجمًا ونستأنف عملية الرفع القديمة.

يبقى عند 0% ويظهر “جاري المعالجة…” في مرحلة ما قبل الرفع، لذا فهذا متوقع. سأحاول أيضًا استبدال نص “جاري الرفع…” في الأسفل.

ما زال الحجم الأكبر من 4 ميجابايت ممنوعًا، والحيلة تكمن في أننا نُحسّن الصورة لتصبح أكبر من 4 ميجابايت عندما يكون ذلك ممكنًا، حتى تتمكن من تجاوز قيود حجم الملف.

لقد جربت بعض الصور من ذلك الموقع، لكنها جميعًا تستخدم شفافية PNG، لذا لا يمكنني تحويلها بأمان إلى JPG ويتوقف المُحسّن عن العمل.

لقد جربت صورة PNG بحجم 60 ميجابايت الآن، والمُحسّن قادر على التعامل معها، لكنه يستخدم أكثر من 4 جيجابايت من ذاكرة الوصول العشوائي (RAM) أثناء ذلك لينتهي بصورة JPG بحجم 360 كيلوبايت.

ما الجهاز ومتصفح الإنترنت وإصدار نظام التشغيل الذي كنت تستخدمه في هذا الاختبار؟

5 إعجابات

لقد أضفت رسالة حالة جديدة لـ ‘معالجة التحميل’ في المنشور حتى تعرف بالضبط ما يحدث الآن.

هذه الميزة آمنة للاختبار الآن، يرجى إخباري بكيفية سير الأمور في مجتمعك!

9 إعجابات

جربت صورة بحجم 1.6 ميجابايت التقطتها بهاتفي الآيفون:

واو، حجمها 300 كيلوبايت وجودة عالية جداً.

6 إعجابات

5 إعجابات

8 إعجابات

مرحبًا يا فالكو،

بدأت في استخدام تحسين صور Composer. لاحظت أنه عند الرغبة في تحميل المزيد من الصور، يتم تفعيل زر الرد بعد تحميل الصورة الأولى، ولا يتم تعطيله إلا بعد انتهاء تحسين الصورة التالية. إذا تم النقر على زر الرد في هذا الوقت، فإن تحميل الصور الأخرى يتعطل، ويتم تجميع النص فقط (في حالة معالجة). لا يمكنني إعادة إنتاج هذه المشكلة هنا لأن زر Meta يتغير بسرعة، لكن في موقعي يتعطل غالبًا لمدة 10 ثوانٍ أو أكثر بين التحميلات. أستخدم الإعدادات الافتراضية و3 صور بحجم 3-4 ميجابايت تقريبًا.

جربت ذلك على هاتف Huawei P20 Pro بنظام Android 10 (Chrome 91.0.4472.120) عبر التطبيق الويب.

كما ترون في الفيديو، بعد التحميل (Feltöltés)، يتم تفعيل زر الرد. حجم كل صورة حوالي 2.3 ميجابايت.

هل من الممكن تعطيل زر الرد طوال فترة تحميل الصور؟


أنا مرتبك بشأن هذه الإعدادات. هل وحدة “كيلوبايت” صحيحة؟

شكرًا لك على الإجابة! :slight_smile:

3 إعجابات

شكرًا لك على البلاغ! كان هناك خطأ في حساب حالة تعطيل الزر:

https://github.com/discourse/discourse/pull/13765

نعم Kilobyte - Wikipedia. الافتراضي هو نصف ميجابايت، ولكن يمكنك تعديله حسب حاجتك. أنصحك بالذهاب إلى أدنى قيمة ممكنة (~300 كيلو بايت) إذا كنت تريد توفير أكبر قدر من المساحة.

5 إعجابات

شكرًا على الإصلاح. :slightly_smiling_face:

أرى الآن. لقد ظننت فقط أن هناك خطأ إملائيًا حيث تم استبدال “بايت” بـ “كيلوبايت”. لأنني أدخلت 524288 كيلوبايت في المحوّل، فأظهر النتيجة 512 ميغابايت. هذا ما أربكني. لكن نعم، فهمت الآن. :slightly_smiling_face: شكرًا لك

3 إعجابات

آه، الآن فهمت. الخطأ مني!

https://github.com/discourse/discourse/pull/13766

3 إعجابات

مرحباً،

شكراً لك على الإصلاح :slight_smile: الآن يعمل بشكل ممتاز!

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

إعجابَين (2)

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

4 إعجابات