-
دوشنبه 04 مرداد 1389, 11:40 صبح
#1
کاربر دائمی
DoubleBuffer که در Properties های فرم ها قرار دارد چیست؟
DoubleBuffer که در Properties های فرم ها قرار دارد چیست؟
چه زمانی باید True باشه؟
بودن یا نبودنش چکار میکنه و چه فرقی داره لطفا کامل توضیح بدید .
با تشکر
-
دوشنبه 04 مرداد 1389, 12:26 عصر
#2
کاربر دائمی
نقل قول: DoubleBuffer که در Properties های فرم ها قرار دارد چیست؟
-
دوشنبه 04 مرداد 1389, 12:54 عصر
#3
کاربر دائمی
نقل قول: DoubleBuffer که در Properties های فرم ها قرار دارد چیست؟
بافر دو گانه "Doublebuffering” چيست؟
زمانيکه قرار است چيزي روي نمايشگر نشان داده شود کارت گرافيکي تصويري از آنچه قرار است نمايش داده شود را رسم کرده و سپس اين تصوير را به نمايشگر ميفرستد. تصويري که قرار است به نمايشگر فرستاده شود بافر ناميده ميشود.
در کارتهاي گرافيکي قديمي، تنها يک بافر وجود داشت اين بافر به طور مداوم رسم شده و به نمايشگر فرستاده ميشود.
اين روش چند مزيت دارد ولي معايب آن به مراتب بزرگتر هستند. مهمترين مشکل اين روش چشمک زدن تصاوير هنگام به روز آوري آنها روي صفحهنمايش است.
امکان خواندن و نوشتن همزمان روي بافر، توسط تکنيک جديدتري با نام بافر دو گانه يا ”Double buffering” فراهم ميشود؛ ايده پشت اين تکنيک اين است که کامپيوتر تصوير را تنها روي يکي از دو بافر با نام بافر عقب يا back buffer ريخته و بافر ديگر (با نام بافر جلو يا front buffer) را به نمايشگر مي فرستد. زمانيکه رسم بافر عقب تمام ميشود، فرآيندي با نام تعويض بافر يا buffer swap انجام ميشود.تعويض بافر، چيزي را جا به جا نميکند، بلکه تنها نام دو بافر را با هم عوض ميکند: بافر عقب به بافر جلو و بافر جلو به بافر عقب تبديل خواهد شد.
بعد از تعويض بافر، بافر جلوي جديد که در واقع همان بافر عقب حاوي تصوير است، به نمايشگر فرستاده ميشود و نرمافزار نيز ميتواند روي بافر عقب جديد، طراحي کند. زمانيکه تعويض بافر جديد صورت بگيرد، آنچه که گفته شد مجددا اتفاق ميافتد.
در اين شکل از بافر دو گانه، تعويض بافر در هر زماني ممکن است اتفاق بيفتد. مثلا وقتي کارت گرافيکي در حال ارسال اطلاعات به نمايشگر است، ممکن است تعويض بافر رخ دهد. در اين صورت باقيمانده صفحهنمايش با تصوير بافرجلويي جديد پرخواهد شد.
اگر محتواي بافر جلويي جديد با بافر جلويي قبلي اختلاف زيادي داشته باشد، همان مشکل گسستگي و پارگي تصوير شکل ميگيرد. گسستگي تصوير معمولا در سرعت فريمهاي بالا و زمانيکه بازي داراي تحرک زيادي است رخ ميدهد. به دليل تحرک بالاي بازي و حرکت سريع، فريمها اختلاف زيادي با هم دارند و گسستگي حاصل نيز براي کاربر ناراحت کننده است.
با توجه به مطلبی که گذاشتم آیا کارتهای گرافیکی قدیم که این خاصیت رو ساپورت نمیکنند در صورتی که ما Double buffering را True کنیم به مشکل خواهند خورد یا نه؟
-
سه شنبه 19 مرداد 1389, 13:24 عصر
#4
کاربر دائمی
نقل قول: DoubleBuffer که در Properties های فرم ها قرار دارد چیست؟
دوستان عزیز من هنوز به پاسخ این سوال نرسیدم:
با توجه به مطلبی که گذاشتم آیا کارتهای گرافیکی قدیم که این خاصیت رو ساپورت نمیکنند در صورتی که ما Double buffering را True کنیم به مشکل خواهند خورد یا نه؟
اصلا این کارتهای قدیمی الان مورد استفاده قرار میگیرند؟
-
چهارشنبه 20 مرداد 1389, 00:20 صبح
#5
کاربر دائمی
نقل قول: DoubleBuffer که در Properties های فرم ها قرار دارد چیست؟
تا جایی که من میدونم با True کردن این خصوصیت باعث میشه که حافظه ای که اون فرم اشغال کرده دوبرابر در نظر گرفته شود یا به قول خودمون جای بیشتری براش درنظر گرفته شه
-
چهارشنبه 20 مرداد 1389, 01:31 صبح
#6
VIP
نقل قول: DoubleBuffer که در Properties های فرم ها قرار دارد چیست؟
من یه برنامه که از نظر گرافیکی سنگین بود رو روی یه کامپیوتر قدیمی اجرا کردم که باعث فلش فلش شدن فرمم میشد اما این خاصیت رو true کردم مشکل حل شد.
برچسب های این تاپیک
قوانین ایجاد تاپیک در تالار
- شما نمی توانید تاپیک جدید ایجاد کنید
- شما نمی توانید به تاپیک ها پاسخ دهید
- شما نمی توانید ضمیمه ارسال کنید
- شما نمی توانید پاسخ هایتان را ویرایش کنید
-
قوانین سایت