View Full Version : آیا این کار عاقلانه هست؟[opengl]
1485159
دوشنبه 03 خرداد 1389, 20:49 عصر
سلام
من قصد دارم برای نمایش تسکچر ها و فایل های png اطلاعات تمام پیکسل ها رو توی رم ذخیره کنم و هر فریم که میخوام اونا رو نمایش بدم پیکسل به پیکثل رسمشون کنم.
آیا این کار باعث کند شدن میشه؟
pswin.pooya
سه شنبه 04 خرداد 1389, 17:46 عصر
اگر به صورت تکسچر در بیاری نه.
اما اگر بخوای اطلاعات این فایلهای رو توی هر فریم ارسال کنی (باید به کمک pbo انجام بگیره) کارایی افت زیادی پیدا میکنه. باز تاحدودی pbo (pixel buffer object( جلوی اینکار رو میگیره اما نه تا اون حد که فکر بکنی. این مورد مخصوصا توی برنامه هایی که با وب کم کار میکنن بد جوری افت کارایی رو به وجود میاره.
1485159
چهارشنبه 12 خرداد 1389, 21:55 عصر
گر به صورت تکسچر در بیاری نه.
مگه به درد دیگه ای هم میخوره؟
pswin.pooya
چهارشنبه 12 خرداد 1389, 22:25 عصر
آره. روشهای زیادی برای رسم اطلاعات بیت مپی (فایلهای تصویری ) داخل OpenGL هستش. مثل استفاده از دستور glBitmap و یا مواردی دیگه مثل بافرهای پیکس (pbo) . اما بین اینها تنها میشه از بافتها (تکسچرها) نمونه برداری کرد. توی OpenGL تنها میتونی pboها رو بخونی و درست نیستش که از اونها برای نگاشت (map) کردن استفاده کنی. (چون توی هر احظه بیشتر از یه بافر رو نمی تونی bind کنی. )
به نظر من برای انجینت میتونی از بافتها استفاده کنی و یا اینکه از همون glBitmap (البته به همراه آلفا تست). هر کدوم مزیتهای خودشون رو دارن.
تکسچر:
1. سریعتر هستش.
2. میشه روی مثلث ها اون رو مپ کرد.
3. عملیاتی مثل blending رو ساپورت میکنن
4. توی مواردی مثل شیدرها میشه از اونها استفاده کرد.
در عوض حافظه کارت گرافیکی رو به شدت مصرف میکنن.
glBitmap:
1. حافظه سیستم رو اشغال میکنه. پس اگر حافظه کارت گرافیک کم باشه میتونه استفاده از اونها مفید باشه. که توی اکثر سیستم ها همچین موردی وجود نداره.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.