
http://www.cegui.org.uk
حقوق الطبع والنشر © 2004 - 2022 Paul D Turner ، فريق تطوير Cegui والمؤلفين المساهمين
يتم الآن الاحتفاظ بالغالبية العظمى من الملفات الإضافية لـ Cegui ، التي كانت نصيًا عاديًا ، بتنسيق "doxygenised" داخل دليل Doc/Doxygen - يرجى الاطلاع على هذه الملفات ، أو إنشاء الوثائق لتنسيق أكثر ودية. بدلاً من ذلك ، تفضل بزيارة http://static.cegui.org.uk/docs لجميع احتياجات الوثائق الخاصة بك!
ما يلي هو مجرد دليل بدء التشغيل السريع ، انتقل إلى مستندات Doxygen لدينا للحصول على المزيد من الوثائق التفصيلية.
v0-8 أحدث إصدار مستقر ABI (إلى 0.8.x إصدارات) من CEGUI. استنادًا إلى المعيار C ++ 03 ومتوافق مع معظم المترجمين الشائعين ، بما في ذلك Visual Studio 2008-2015. نظرًا لأن هذا الفرع متوافق مع ABI ، فمن الممكن استبدال المكتبات الديناميكية CEGUI للإصدار 0.8.x بإصدارات 0.8.x الأحدث ، أو العكس ، دون الحاجة إلى إعادة ترجمة المشروع. هذا الفرع هو أيضا قاعدة لإصدارات 0.8.x جديدة.v0 أحدث إصدار متوافق مع API المستقر من CEGUI ويحتوي على تغييرات تحطم ABI. استنادًا إلى المعيار C ++ 03 ومتوافق مع معظم المترجمين الشائعين ، بما في ذلك Visual Studio 2008-2015. سيتم استخدام إصدارات من هذا الفرع لإصدار الإصدار الصغير التالي.default على تغييرات لا سيتم استخدامها إلا في الإصدار الرئيسي التالي. استنادًا إلى المعيار C ++ 11 ومتوافق مع معظم المترجمين الأكثر شيوعًا ، بما في ذلك Visual Studio 2013 أو الأحدث. هذا الفرع غير مستقر للغاية ، وسيقدم تغييرات أساسية ويكسر توافق ABI و API . لا نوصيك باستخدام هذا في الإنتاج ، إلا إذا كنت تعتمد بشدة على ميزة وناقشت ذلك مع مطور Cegui من قبل: يوصى بذلك بحيث تكون على دراية بجميع المخاطر المحتملة. في الحالة العامة ، يُنصح باستخدام أحد الفروع المستقرة ، لتوفير الكثير من الصداع. تعتبر فروع v0-8 و v0 مستقرة ولكنها تخضع لثبات الأخطاء والتغييرات الصغيرة ، والتي لا تكسر ABI و API على التوالي. هذه التغييرات بالطبع تحدد خطرًا صغيرًا على وجود مشكلات مؤقتة في الوقت الحالي في الفروع. إذا لاحظت أي أخطاء في هذه الفروع ، فيرجى إبلاغها في أقرب وقت ممكن - استخدم المنتدى و/أو قنوات IRC الخاصة بنا #cegui و #cegui-devel على irc.freenode.net لإبلاغنا. يرجى مراعاة أننا لسنا متاحين في IRC 24 ساعة في اليوم ، ولكن لا تتردد في الخمول هناك حتى نرد. إذا كنت في شك في أي فرع لاستخدامه ، فلا تتردد أيضًا في سؤالنا بهذه الطريقة. لاستخدام الإنتاج ، نوصي عمومًا باستخدام إصدار إصدار مستقر. يمكن العثور على قائمة بالإصدارات على موقعنا على موقعنا.
نحن أسعد مع طلبات السحب النظيفة التي تحتوي على ضرورة ارتكاب رسائل ملزمة مناسبة . نحن نقبل أيضًا تصحيحات عادية ، لكننا أسهل علينا قبول مساهمتك بنقرة واحدة بشكل كبير في عملية المراجعة.
فيما يلي تفسير حول كيفية شوكة مستودعنا ، والالتزام بتغييرات في شوكة الشوكة ، وإنشاء طلب سحب يستهدف الفرع الصحيح:
يرجى أيضا أن تضع في اعتبارك استهداف المستودع الصحيح. نفضل أن نستهدف الفرع المتوافق مع ABI إن أمكن. وإلا فإن واجهة برمجة التطبيقات متوافقة. للحصول على معلومات حول توافق ABI/API ، يرجى قراءة هذه الصفحة: https://community.kde.org/policies/binary_compatibility_issues_with_c٪2B٪2B
إذا كنت في شك في أي فرع للاستهداف ، يرجى الاتصال بنا!
البرنامج النصي التالي هو عالمي إلى حد ما لأنظمة *nix و windows. قد تكون هناك حاجة إلى تغييرات طفيفة.
cd $cegui_folder
# you can call the folder differently but "build" is customary
mkdir build/
cd build/
# run the configure step
cmake-gui ../
# fix any issues pointed out by cmake
# not all dependencies are required so if some are not found, don't panic and carry on!
# alternative (if you are a command line pro)
# cmake ../في هذه المرحلة ، سيتم إنشاء Makefiles أو ملفات المشروع أو أي شيء آخر. الخطوة التالية تعتمد على ذلك.
ل makefiles ، فقط الجري
cd $cegui_folder
cd build/
makeبالنسبة لحلول Visual Studio ، انقر نقرًا مزدوجًا ، تغيير وضع الإنشاء وفقًا لذلك (الإصدار ، تصحيح ، ...) واضغط على Build.
هذا القسم منطقي فقط على أنظمة تشبه *nix.
تأكد من أن لديك CMAKE_INSTALL_PREFIX الصحيح في تكوين الوقت. RERUN RERUN RERUN CMAKE ووضعه. بشكل افتراضي ، يجب أن يكون /usr/local/ ولكن قد ترغب /usr/ .
cd $cegui_folder
cd build/
sudo make installإذا قمت بتثبيت نظام CEGUI على مستوى النظام ، فما عليك سوى الاتصال:
CEGUISampleFramework-0إذا كان من الأفضل الاتصال به من سطر الأوامر لأنه سيطلب منك تحديد العارض في حالة توفر أكثر من 1.
إذا لم يكن لديك أي نظام مثبت على مستوى النظام ، فسيكون ذلك أكثر تعقيدًا ومعقدًا.
cd $cegui_folder
cd build/bin/
CEGUI_SAMPLE_DATAPATH=../../datafiles ./CEGUISampleFramework-0يحتوي Cegui على عدد قليل نسبيًا من التبعيات المطلوبة (حاليًا فقط GLM) والعديد من التبعيات الاختيارية . حقيقة أنه يدعم العديد من المكتبات والمحركات المختلفة ، والعديد من لوادر/برامج ترميز الصور المختلفة (مع مرور الخيارات) والعديد من محلات XML المختلفة هي شيء جيد وسيخبرك شخص غير مطلع فقط.
إذا أخبرك Cmake أنه لم يتم العثور على شيء ما ، فلن لا داعي للذعر ؛)! على الأرجح أنها رسالة غير ضارة. يجب أن تقلق فقط إذا لم يتم العثور على التبعية التي تعلمها أنك لا توجد أو إذا لم يتم العثور على تبعيات على الإطلاق. في الحالة الأخيرة ، على Windows و Mac OS X ، ربما لم تضع المجلد "التبعيات" (بما في ذلك التبعيات التي تم تجميعها في التصحيح/الإصدار/أيا من الاحتياجات الخاصة بـ you) في المجلد الذي يحتوي على جميع ملفات ومجلدات Cegui. يمكنك أيضًا تحديد مجلد آخر في CMake باستخدام متغير CEGUI_DEPENDENCIES_DIR.
هذا النظام الترقيم يخدم في الواقع غرضًا مهمًا جدًا! من فضلك دعونا نحتفظ بها. يسمح بتوزيعات Linux (وغيرها) بتثبيت إصدارات متعددة لـ CEGUI API جنبًا إلى جنب والتي تخفف من الترحيل وسرعة تبني إصدارات CEGUI الجديدة. على Windows ، سيسمح لنا هذا بتزويدك بتبعيات Cegui المسبقة باستخدام Nuget في المستقبل.
هذا هو السلوك المتوقع. بادئ ذي بدء ، يجب عليك دائمًا اختبار الأداء في وضع الإصدار ، ولكن حتى هناك سيكون المؤشر أبطأ. والسبب هو ببساطة أنه من غير المرجح أن يكون لأي تطبيق مؤشر بأسرع أسرع من مؤشر نظام التشغيل. تذكر أيضًا أن السرعة مرتبطة ارتباطًا وثيقًا بمعدل الإطارات الخاص بك ، لذلك إذا قمت بتشغيل عرض HelloWorld في 5000 إطار في الثانية ، فسيكون الفرق أقل ولكن لا يزال ملحوظًا. أي لعبة أو محاكاة أو تطبيق آخر يجعل المؤشر الخاص به عبر وظائف OpenGL/Direct3D بالمثل. ومع ذلك ، فإن سرعة المؤشر ليست مشكلة للمستخدمين إذا كان تطبيقك يعمل بمعدلات إطار Rasonable (> 60 إطارًا في الثانية) دون انخفاض الإطار ولن يتم إدراكه على هذا النحو. بمجرد إخفاء مؤشر نظام التشغيل ، ربما لن يكون التأخير ملحوظًا بالنسبة لك بعد الآن.
أولاً ، يتم استخدام مصطلح "DLL Hell" بشكل خاطئ في هذا السياق. هذا لا يعني "أرى العديد من ملفات DLL ، يجب أن يكون هذا الجحيم!". إن ربط مكتبة Cegui ديناميكيًا هو أفضل طريقة لعمل الأشياء حيث من المفترض أن تضمن التوافق الجيد وفرصة منخفضة للمشكلات الناشئة عن التبعيات. على Windows ، نوصي باستخدام الارتباط الديناميكي بـ CEGUI بدلاً من الارتباط الثابت ، حيث أن التجربة السابقة (واجهت بعض المستخدمين في المشكلات الفنية) قد أظهرت لنا أن هذا أكثر أمانًا. ومع ذلك ، إذا كنت تعرف ما تفعله ، يمكنك بالتأكيد استخدام الربط الثابت. كن على دراية بأننا نختبر فقط الارتباط الديناميكي بانتظام ، فقد تكون ملفات CMake قديمة وقد تضطر إلى إضافة مكتبات مرتبطة إلى IDE بنفسك وما إلى ذلك. في ملاحظة إيجابية: في الإصدار 1.0 القادم ، سنقلل من كمية DLLS CEGUI التي تنشئها عن طريق دمج بعضها في المكتبة الأساسية. يمكن الاطلاع هنا على ملخص قصير ولكن بالتأكيد غير كامل للمزايا وعيوب الربط الثابت مقابل الديناميكي: http://stackoverflow.com/questions
في الغالب عندما اشتكى المستخدمون في المنتديات حول سرعة Cegui ، اتضح أنهم إما أن يديروا التطبيق في تكوين التصحيح أو ارتكبوا شيئًا خاطئًا: يمكن أن يكون بطيئًا إذا كنت تقوم بتحميل موارد/ملفات تخطيط كل إطار أو تسبب في تحديثات وأحداث غير ضرورية. أو قد يكون بطيئًا إذا كنت تقوم بتحديث CEGUI عدة مرات لكل إطار في البرنامج. إذا لم تتمكن من العثور على المشكلة ، فمن الأفضل إجراء بحث منتدى/Google - إذا لم تجد أي شيء مفيد - لوصف الإعداد الخاص بك بالتفصيل والمشكلات التي لديك. عندما تصبح Cegui بطيئة ، يمكن أن يكون ذلك أيضًا بسبب استخدام محدد للغاية لميزات محددة ، والتي لم نتوقعها أو نختبرها. في هذه الحالة ، نود منك أن تصف حالة الاستخدام الخاصة بك في المنتدى حتى نتمكن من العثور على حل أو إذا كنت قادرًا على حل المشكلة بنفسك ، فقم بإنشاء طلب سحب على Bitbucket.
بشكل عام ، يكون Cegui سريعًا جدًا ويمكنه التنافس بسهولة مع مكتبات واجهة المستخدم الرسومية الأخرى في السرعة (خاصةً من القائمة على الفلاش ، لأنها لا تصل إلى OpenGL أو Direct3D مباشرة). على الرغم من أنه لن يتم تحسين مكتبة معقدة تمامًا ، إلا أنه يمكن اعتبار Cegui أداءً للغاية. هذا صحيح بالنسبة للحسابات التي أجريت على وحدة المعالجة المركزية وكذلك تلك الموجودة على وحدة معالجة الرسومات. لا يزال يعمل على النحو الأمثل عند فتح مئات النوافذ وتقديمها في نفس الوقت.
أفضل دليل على أن Cegui سريع هو أن ألعاب الملكية الكبيرة ، التي تعرض المئات من الأدوات المصغرة وتستخدم التسلسلات الهرمية المعقدة ، تم صنعها باستخدام Cegui (Torchlight 1 ، Torchlight 2 ، Venetica ، إلخ).
معظم عيناتنا ، إذا بدأت في وضع الإصدار ، ستقدم بسرعات تزيد عن 3000 إطار في الثانية على وحدة المعالجة المركزية الحديثة ووحدة معالجة الرسومات. كملاحظة إضافية لبعض الأشخاص الذين يحبون الاستشهاد بمعايير مشكوك فيها فيما يتعلق بمقارنات السرعة هذه: المعايير تعتمد على الموقف ويمكن أن تشوه بسهولة السرعة الفعلية للمكتبة عن طريق الاستخدام الخاطئ أو غير الفعال أو غير المعتاد. إذا تم استخدامه بشكل صحيح وداخل حدود الاستخدام المتوقع ، فإن Cegui يؤدي بشكل جيد للغاية.