آموزش برنامه نویسی مهندس میثم حبیبی

آموزش ساده و کاربردی برنامه نویسی مهندس میثم حبیبی

خاصیت Doublebuffering

هنگامی که تصویری بر روی نمایشگر نشان داده شود کارت گرافیکی تصویری از آنچه قرار است نمایش داده شود را رسم کرده و سپس این تصویر را به مانیتور ارسال می نماید. تصویری که قرار است به نمایشگر فرستاده شود بافر نامیده می‌شود.
در کارت‌های گرافیکی قدیمی، تنها یک بافر وجود داشت این بافر به طور مداوم رسم شده و به نمایشگر فرستاده می‌شود.این روش چند مزیت دارد ولی معایب آن به مراتب بزرگتر هستند. مهمترین مشکل این روش چشمک زدن تصاویر هنگام به روز آوری آنها روی صفحه‌نمایش است.
امروزه امکان خواندن و نوشتن همزمان روی بافر، توسط تکنیک جدیدتری با نام بافر دو گانه یا ”Double buffering” فراهم شده است . ایده پشت این تکنیک این است که کامپیوتر تصویر را تنها روی یکی از دو بافر با نام بافر عقب یا back buffer ریخته و بافر دیگر (با نام بافر جلو یا front buffer) را به نمایشگر می فرستد. زمانیکه رسم بافر عقب تمام می‌شود، فرآیندی با نام تعویض بافر یا buffer swap انجام می‌شود.تعویض بافر، چیزی را جا به جا نمی‌کند، بلکه تنها نام دو بافر را با هم عوض می‌کند: بافر عقب به بافر جلو و بافر جلو به بافر عقب تبدیل خواهد شد.
بعد از تعویض بافر، بافر جلوی جدید که در واقع همان بافر عقب حاوی تصویر است، به نمایشگر فرستاده می‌شود و نرم‌افزار نیز می‌تواند روی بافر عقب جدید،‌ طراحی ‌کند. زمانیکه تعویض بافر جدید صورت بگیرد، آنچه که گفته شد مجددا اتفاق می‌افتد.
در این شکل از بافر دو گانه، تعویض بافر در هر زمانی ممکن است اتفاق بیفتد. مثلا وقتی کارت گرافیکی در حال ارسال اطلاعات به نمایشگر است، ممکن است تعویض بافر رخ دهد. در این صورت باقیمانده صفحه‌نمایش با تصویر بافرجلویی جدید پرخواهد شد.
اگر محتوای بافر جلویی جدید با بافر جلویی قبلی اختلاف زیادی داشته باشد،‌ همان مشکل گسستگی و پارگی تصویر شکل می‌گیرد. گسستگی تصویر معمولا در سرعت فریم‌های بالا و زمانیکه بازی دارای تحرک زیادی است رخ می‌دهد. به دلیل تحرک بالای بازی و حرکت سریع، فریم‌ها اختلاف زیادی با هم دارند و گسستگی حاصل نیز برای کاربر ناراحت کننده است.

سه شنبه بیست و یکم فروردین ۱۴۰۳ | 16:49
مهندس میثم حبیبی
  • صفحه اصلی
  • آرشیو وبلاگ
  • عناوین نوشته ها
موضوعات وب
  • خواص کنترل ها
  • رویدادهای کنترل ها
  • مقالات
پیوندها
  • فهرست همه خواص کنترل ها #C و VB.Net
  • خواص فرم -Form
پیوندهای روزانه
  • آموزش ساخت سایت خبری با ASP.Net
  • آموزش برنامه نویسی سه لایه در VB.Net ویژوال بیسیک دانت نت
  • آموزش پیاده سازی سیستم انبارداری و فروش با ویژوال بیسیک دات نت VB.NET – تکمیلی
  • آموزش پیاده سازی سیستم انبارداری و فروش با ویژوال بیسیک دات نت VB.NET – مقدماتی
  • آموزش پروژه محور سی شارپ C#‎ – پیاده سازی سیستم رستوران آنلاین
  • آموزش ساخت سایت فروشگاه با ASP.NET
  • آموزش ویژوال بیسیک دات نت– تکمیلی
  • آموزش ویژوال بیسیک دات نت – مقدماتی
  • آرشیو پیوندهای روزانه
آرشیو وب
  • خرداد ۱۴۰۳
  • اردیبهشت ۱۴۰۳
  • فروردین ۱۴۰۳

B L O G F A . C O M

تمامی حقوق برای آموزش برنامه نویسی مهندس میثم حبیبی محفوظ است .