آبجی
24th June 2010, 04:13 PM
تا حالا برای شما پیش آمده که در منوی تنظیمات بازی های رایانه ای سه بعدی به تنظیماتی برای تغییر کیفیت تصاویر بازی برخورد کنید ؟ یا تا حالا برای شما پیش آمده که دوست داشته باشید بدانید چگونه کیفیت تصاویر را در بازی های رایانه ای بهتر کنید ؟ یا ساده تر بگویم بخواهید اطلاعات بیشتری در مورد تنظیمات و عوامل تنظیم کننده کیفیت تصاویر داشته باشید ؟
http://lh6.ggpht.com/_kkPCtaT5WsY/Se4xODoH_UI/AAAAAAAAAJA/RoKkSmopuwA/s144/c9803.jpghttp://lh5.ggpht.com/_kkPCtaT5WsY/Se4xOFs-G5I/AAAAAAAAAJI/95NEyI3RgwQ/s144/opengl_logo.jpg
با پیشرفت چشم گیر تنکنولوژی در صنعت کارت های گرافیک امکانات فوق العاده ای برای تنظیم کیفیت عکس ها ایجاد شده که همگی در بهبود کیفیت تصاویر و جلوه های بازی های رایانه ای کمک شایانی کرده اند . حال در این مقاله قصد توضیح و معرفی تکنیک های مختلف استفاده شده در این بازی های سه بعدی داریم که شما را در ایجاد تصاویر بهتر گرافیکی یاری می کند . البته لازم به ذکر است که بیشتر این تنظیمات بسته به قدرت کارت گرافیک شما داره و باید بسته به قدرت آن این تنظیمات را انجام دهید تا سرعت کاهش پیدا نکند .
Anti-aliasing : این تکنیک که به اختصار AA گفته می شود برای نرم و هموار کردن زاویه های تیزی که خط های مورب ایجاد می کنند ، استفاده می شود که معمولا در تنظیمات 3D تصویر وجود داره و معمولا مقدار قابل تنظیم آن : " None یا Disable ( فعال نبودن AA ) " ، 2X ، 4X یا 6X است و در برخی موارد در بازی های رایانه ای به جای مقدار آن از Low ( پایین ) ، Medium ( متوسط ) و High ( بالا ) استفاده می شود . هر چه مقدار AA بالاتر باشد کیفیت تصاویر بهتر و در عوض سرعت کند تر می شود که اندازه این کندی بسته به کارت گرافیک شما متغیر است .
Bilinear Filtering : این تکنیک بهینه کننده برای نرم تر کردن مکان بر خورد رنگ های مختلف است . برای مثال زمانی که شما تغییر رنگ مکان زرد رنگ به قرمز رنگ را دارید این $$$$$ینگ با ایجاد یک ناحیه تغییر رنگ ، ناحیه برخورد این دو رنگ را صاف تر و نرم تر می کند .
Trilinear filtering : این تکنیک تقریبا مشابه " Bilinear Filtering " کار می کند با این تفاوت که این تکنیک قوی تر است اما سرعت را کند تر می کند .
Anisotropic filtering : این تکنیک برای بالا بردن کیفیت تصاویری است که طرح قراردادی ندارند و در کل برای واضح تر کردن و نمایان تر کردن تصاویر و اجزای آن هاست . برای مثال بعضی اوقات شده که شما در بازی ها شاهد حروف و جمله هایی هستید که در هنگامی جریانی در پشت آن در حال اجراست تکان می خورند اصلا واضح نیستند و نمایش بهتر اجزا و تیره نشدن آن ها . معمولا این تنظیم با مقدار 2X ، 4X ،8X و 16X مشخص می شود و هر چه این مقدار بیشتر شود تصویر واضح تری خواهید داشت اما سرعت کند تر خواهد شد .
MIP Mapping : این تکنیک باعث می شود زمانی که یک تکستچر در سراسر یک محیط چندین بار تکرار می شود با سایز های کوچک تر از کیفیت تصویر کم نشود . زیرا زمانی که یک تکستچر باید کوچک تر شود VGA با انجام عمل " squeeze " باعث له شدن تکستچر می شود تا آن را بتواند در شی مورد نظر قرار دهد . که این کار باعث ایجاد نویز های تصویری و تصاویری رنج آور و زشت می شود . در حقیقت MIP Mapping یک تکنیک از نوع Anti-Aliasing است .
Z-buffering : به طور عادی حافظه گرافیکی رنگ های مربوط به هر پیکسل را در خودشان ذخیره می کنند . اما با استفاده از Z-Buffering حافظه کارت گرافیک با ذخیره کردن موقعیت ها در محور Z ها ( عمق تصویر ) سرعت رندر کردن تصاویر را در زمانی که VGA در حال شناختن و تعبیه کردن مکان Object های صفحه یا به عبارت واضح تر در حال شناختن موقعیت Object ها نسبت به هم و چگونگی پشت هم قرار گرفتنشان است ، بیشتر می کند . و بر عکس در صورتی که از Z-Buffering استفاده نشود محاسبات زیادی برای پیدا کردن موقعیت دقیق و درست Object و طرز قرار گرفتشان نسبت به یکدیگر صرف کند .
OpenGL : یک اینترفیس برنامه نویسی (API) است . که بازی ها با استفاده از این زبان دستورات خود را برای کارت گرافیک ارسال می کنند و درایور این دستورات را به دستورالعمل های قابل فهم برای پردازشگر گرافیکی تبدیل می کند . در کل استفاده از بازی هایی که با استفاده از API های مشخص مانند OpenGL نوشته شده باشند نیازی به درایور های خاص برای اجرای آن ها روی اکثر کارت های گرافیک نیست .
http://img66.imageshack.us/img66/7313/opengllogo.jpg
DirectX : یک اینترفیس برنامه نویسی (API) است و اصول کار همانند آن چیزی است که در مورد OpenGL در بالا گفته شد با تفاوت های این دو API .
http://img219.imageshack.us/img219/7686/c9803.jpg
Bump Mapping : با استفاده از این تکنیک سطوح غیر هموار همانند سطح یک خیابان ، پوست یک پرتغال و ... را می تواند ایجاد کرد .
Alpha Blending : این تکنیک باعث ایجاد شفایت و دادن حالت شیشه ای بین Object ها می شود . نمونه واضح این افکت نمایش آب در بازی های رایانه ای است .
Dithering : با استفاده از این تکنیک به کارت گرافیک به راحتی قادر به ساختن رنگ هایی است که در پالت رنگ های از پیش تعیین شده در حافظه کارت گرافیک نیست . این ترکیب رنگ که به این گونه کار می کند که پیکسل های رنگ را کنار به کنار یکدیگر در یک مسیر قرار می دهد به گونه ای که چشم شما قادر به تشخیص یکتا نبودن پیکسل ها نیست . اما با توجه به مقدار بالای حافظه های کارت های گرافیک امروزی که توانایی اجرای با 5 بیلیون رنگ همزمان هستند ( 32-bit ) دیگر در بازی های مدرن از این امکان برای ایجاد رنگ ها استفاده نمی شود .
Frame buffer : بازی های سه بعدی معمولا حافظه کارت گرافیک را به دو قسمت تقسیم می کنند . با استفاده از این تکنیک زمانی که یک تصویر در حال نمایش است تصویر بعدی در قسمت دیگر حافظه در حال ترسیم است . نام دیگر این تکنیک Double Buffering است . البته بعضی از کارت های گرافیکی اجازه تقسیم به سه قیمت را نیز می دهند که این تکنیک در آن ها با نام Triple Frame Buffer شناخته می شود و زمانی قابل استفاده است که کارت گرافیک شما سریعتر از مانیتور شما باشد یعنی زمانی که مانیتور شما دارد تصویر اول را نمایش می دهد کارت گرافیک شما تصویر دوم را هم ترسیم کرده و در این صورت است که کارت گرافیک شروع به ترسیم تصویر سوم می کند . که باز این قابلیت به میزان حافظه کارت گرافیک شما بستگی دارد .
GPU (Graphics Processing Unit) یا VPU (Visual Processing Unit) : نامی است که به پردازشگر کارت گرافیک داده اند و کار پردازش دستورالعمل ها را به عهده دارد . خیلی وقت پیش این قسمت زیر مجموعه بخش محاسبات هندسی ( GC ) بود که با استفاده از پردازشگر سیستم این محاسبات انجام می شد . اما از زمان ورود تراشه های GeForce 256 این بخش به صورت جداگانه نسبت به پردازشگر سیستم عمل کرد و به بخشی جدا با نام GPU واگذار شد .
IGP (Integrated Graphics Processor) : نامی است که به چیپست های مادربورد هایی داده می شود که توانایی پردازش گرافیکی را دارند مانند تراشه های گرافیکی آنبورد که به اصطلاح گرافیک های آنبورد نام می گیرند .
Rendering : مراحل ایجاد تصاویر سه بعدی که به دو قسمت تقسیم می شوند : 1- محاسبات هندسی 2- رندرینگ . در مرحله اول Object هایی که قرار است بر روی صفحه نمایش نمایان شوند محاسبه می شوند و سپس در مرحله Rendering آن ها برای نمایش روی صفحه نمایش ترسیم می شوند .
FPS : ( Frames Per Second ) یا فریم هایی که در هر ثانیه نمایش داده می شود . این مقدار که یکی از قدیمی ترین و اصلی ترین مقدار برای سنجش قدرت کارت های گرافیک در کار های سه بعدی است . این مقدار همانند framerate مقیاس شمارش فریم هایی است که یک کارت می تواند آن را در واحد ثانیه ایجاد کند و معمولا این مقدار برای بازی ها حداقل باید 30 فریم بر ثانیه باشد تا بتوان آن بازی را اجرا کرد و در صورتی که بیشتر باشید با اجرای فریم های بیشتر تصاویر سریع تری خواهیم داشت . حال که با این مفهوم آشنا شدید کاملا متوجه منظور از کند تر شدن تصاویر در گفته های بالا شدید .
اینکه هر چه شما میزان و مقدار این افکت ها را بیشتر کنید درست است که تصاویر بهتری خواهید داشت اما نیاز به یک کارت گرافیک قوی تر با هزینه بیشتری دارید و در صورتی که کارت گرافیک زیادی ندارید و نیاز به یک بازی روان دارید بهتر است از حداقل افکت های بالا استفاده کرد تا FPS بالا تر و در نتیجه بازی روان تر و بهتری داشته باشید .
http://lh6.ggpht.com/_kkPCtaT5WsY/Se4xODoH_UI/AAAAAAAAAJA/RoKkSmopuwA/s144/c9803.jpghttp://lh5.ggpht.com/_kkPCtaT5WsY/Se4xOFs-G5I/AAAAAAAAAJI/95NEyI3RgwQ/s144/opengl_logo.jpg
با پیشرفت چشم گیر تنکنولوژی در صنعت کارت های گرافیک امکانات فوق العاده ای برای تنظیم کیفیت عکس ها ایجاد شده که همگی در بهبود کیفیت تصاویر و جلوه های بازی های رایانه ای کمک شایانی کرده اند . حال در این مقاله قصد توضیح و معرفی تکنیک های مختلف استفاده شده در این بازی های سه بعدی داریم که شما را در ایجاد تصاویر بهتر گرافیکی یاری می کند . البته لازم به ذکر است که بیشتر این تنظیمات بسته به قدرت کارت گرافیک شما داره و باید بسته به قدرت آن این تنظیمات را انجام دهید تا سرعت کاهش پیدا نکند .
Anti-aliasing : این تکنیک که به اختصار AA گفته می شود برای نرم و هموار کردن زاویه های تیزی که خط های مورب ایجاد می کنند ، استفاده می شود که معمولا در تنظیمات 3D تصویر وجود داره و معمولا مقدار قابل تنظیم آن : " None یا Disable ( فعال نبودن AA ) " ، 2X ، 4X یا 6X است و در برخی موارد در بازی های رایانه ای به جای مقدار آن از Low ( پایین ) ، Medium ( متوسط ) و High ( بالا ) استفاده می شود . هر چه مقدار AA بالاتر باشد کیفیت تصاویر بهتر و در عوض سرعت کند تر می شود که اندازه این کندی بسته به کارت گرافیک شما متغیر است .
Bilinear Filtering : این تکنیک بهینه کننده برای نرم تر کردن مکان بر خورد رنگ های مختلف است . برای مثال زمانی که شما تغییر رنگ مکان زرد رنگ به قرمز رنگ را دارید این $$$$$ینگ با ایجاد یک ناحیه تغییر رنگ ، ناحیه برخورد این دو رنگ را صاف تر و نرم تر می کند .
Trilinear filtering : این تکنیک تقریبا مشابه " Bilinear Filtering " کار می کند با این تفاوت که این تکنیک قوی تر است اما سرعت را کند تر می کند .
Anisotropic filtering : این تکنیک برای بالا بردن کیفیت تصاویری است که طرح قراردادی ندارند و در کل برای واضح تر کردن و نمایان تر کردن تصاویر و اجزای آن هاست . برای مثال بعضی اوقات شده که شما در بازی ها شاهد حروف و جمله هایی هستید که در هنگامی جریانی در پشت آن در حال اجراست تکان می خورند اصلا واضح نیستند و نمایش بهتر اجزا و تیره نشدن آن ها . معمولا این تنظیم با مقدار 2X ، 4X ،8X و 16X مشخص می شود و هر چه این مقدار بیشتر شود تصویر واضح تری خواهید داشت اما سرعت کند تر خواهد شد .
MIP Mapping : این تکنیک باعث می شود زمانی که یک تکستچر در سراسر یک محیط چندین بار تکرار می شود با سایز های کوچک تر از کیفیت تصویر کم نشود . زیرا زمانی که یک تکستچر باید کوچک تر شود VGA با انجام عمل " squeeze " باعث له شدن تکستچر می شود تا آن را بتواند در شی مورد نظر قرار دهد . که این کار باعث ایجاد نویز های تصویری و تصاویری رنج آور و زشت می شود . در حقیقت MIP Mapping یک تکنیک از نوع Anti-Aliasing است .
Z-buffering : به طور عادی حافظه گرافیکی رنگ های مربوط به هر پیکسل را در خودشان ذخیره می کنند . اما با استفاده از Z-Buffering حافظه کارت گرافیک با ذخیره کردن موقعیت ها در محور Z ها ( عمق تصویر ) سرعت رندر کردن تصاویر را در زمانی که VGA در حال شناختن و تعبیه کردن مکان Object های صفحه یا به عبارت واضح تر در حال شناختن موقعیت Object ها نسبت به هم و چگونگی پشت هم قرار گرفتنشان است ، بیشتر می کند . و بر عکس در صورتی که از Z-Buffering استفاده نشود محاسبات زیادی برای پیدا کردن موقعیت دقیق و درست Object و طرز قرار گرفتشان نسبت به یکدیگر صرف کند .
OpenGL : یک اینترفیس برنامه نویسی (API) است . که بازی ها با استفاده از این زبان دستورات خود را برای کارت گرافیک ارسال می کنند و درایور این دستورات را به دستورالعمل های قابل فهم برای پردازشگر گرافیکی تبدیل می کند . در کل استفاده از بازی هایی که با استفاده از API های مشخص مانند OpenGL نوشته شده باشند نیازی به درایور های خاص برای اجرای آن ها روی اکثر کارت های گرافیک نیست .
http://img66.imageshack.us/img66/7313/opengllogo.jpg
DirectX : یک اینترفیس برنامه نویسی (API) است و اصول کار همانند آن چیزی است که در مورد OpenGL در بالا گفته شد با تفاوت های این دو API .
http://img219.imageshack.us/img219/7686/c9803.jpg
Bump Mapping : با استفاده از این تکنیک سطوح غیر هموار همانند سطح یک خیابان ، پوست یک پرتغال و ... را می تواند ایجاد کرد .
Alpha Blending : این تکنیک باعث ایجاد شفایت و دادن حالت شیشه ای بین Object ها می شود . نمونه واضح این افکت نمایش آب در بازی های رایانه ای است .
Dithering : با استفاده از این تکنیک به کارت گرافیک به راحتی قادر به ساختن رنگ هایی است که در پالت رنگ های از پیش تعیین شده در حافظه کارت گرافیک نیست . این ترکیب رنگ که به این گونه کار می کند که پیکسل های رنگ را کنار به کنار یکدیگر در یک مسیر قرار می دهد به گونه ای که چشم شما قادر به تشخیص یکتا نبودن پیکسل ها نیست . اما با توجه به مقدار بالای حافظه های کارت های گرافیک امروزی که توانایی اجرای با 5 بیلیون رنگ همزمان هستند ( 32-bit ) دیگر در بازی های مدرن از این امکان برای ایجاد رنگ ها استفاده نمی شود .
Frame buffer : بازی های سه بعدی معمولا حافظه کارت گرافیک را به دو قسمت تقسیم می کنند . با استفاده از این تکنیک زمانی که یک تصویر در حال نمایش است تصویر بعدی در قسمت دیگر حافظه در حال ترسیم است . نام دیگر این تکنیک Double Buffering است . البته بعضی از کارت های گرافیکی اجازه تقسیم به سه قیمت را نیز می دهند که این تکنیک در آن ها با نام Triple Frame Buffer شناخته می شود و زمانی قابل استفاده است که کارت گرافیک شما سریعتر از مانیتور شما باشد یعنی زمانی که مانیتور شما دارد تصویر اول را نمایش می دهد کارت گرافیک شما تصویر دوم را هم ترسیم کرده و در این صورت است که کارت گرافیک شروع به ترسیم تصویر سوم می کند . که باز این قابلیت به میزان حافظه کارت گرافیک شما بستگی دارد .
GPU (Graphics Processing Unit) یا VPU (Visual Processing Unit) : نامی است که به پردازشگر کارت گرافیک داده اند و کار پردازش دستورالعمل ها را به عهده دارد . خیلی وقت پیش این قسمت زیر مجموعه بخش محاسبات هندسی ( GC ) بود که با استفاده از پردازشگر سیستم این محاسبات انجام می شد . اما از زمان ورود تراشه های GeForce 256 این بخش به صورت جداگانه نسبت به پردازشگر سیستم عمل کرد و به بخشی جدا با نام GPU واگذار شد .
IGP (Integrated Graphics Processor) : نامی است که به چیپست های مادربورد هایی داده می شود که توانایی پردازش گرافیکی را دارند مانند تراشه های گرافیکی آنبورد که به اصطلاح گرافیک های آنبورد نام می گیرند .
Rendering : مراحل ایجاد تصاویر سه بعدی که به دو قسمت تقسیم می شوند : 1- محاسبات هندسی 2- رندرینگ . در مرحله اول Object هایی که قرار است بر روی صفحه نمایش نمایان شوند محاسبه می شوند و سپس در مرحله Rendering آن ها برای نمایش روی صفحه نمایش ترسیم می شوند .
FPS : ( Frames Per Second ) یا فریم هایی که در هر ثانیه نمایش داده می شود . این مقدار که یکی از قدیمی ترین و اصلی ترین مقدار برای سنجش قدرت کارت های گرافیک در کار های سه بعدی است . این مقدار همانند framerate مقیاس شمارش فریم هایی است که یک کارت می تواند آن را در واحد ثانیه ایجاد کند و معمولا این مقدار برای بازی ها حداقل باید 30 فریم بر ثانیه باشد تا بتوان آن بازی را اجرا کرد و در صورتی که بیشتر باشید با اجرای فریم های بیشتر تصاویر سریع تری خواهیم داشت . حال که با این مفهوم آشنا شدید کاملا متوجه منظور از کند تر شدن تصاویر در گفته های بالا شدید .
اینکه هر چه شما میزان و مقدار این افکت ها را بیشتر کنید درست است که تصاویر بهتری خواهید داشت اما نیاز به یک کارت گرافیک قوی تر با هزینه بیشتری دارید و در صورتی که کارت گرافیک زیادی ندارید و نیاز به یک بازی روان دارید بهتر است از حداقل افکت های بالا استفاده کرد تا FPS بالا تر و در نتیجه بازی روان تر و بهتری داشته باشید .