PDA

View Full Version : آیا vcl سرعت رو کم میکنه؟



1485159
شنبه 22 آبان 1389, 13:49 عصر
سلام
میخواستم بدونم که آیا استفاده از توابع و کتابخانه vcl سرعت برنامه رو کم میکنه؟ البته منظورم از سرعت، سرعت در برنامه هایی هست که سرعت براشون خیلی خیلی مهمه! مثل گیم انجین ها و....
ممنون.

vcldeveloper
شنبه 22 آبان 1389, 17:52 عصر
VCL یک Wrapper تقریبا نازک به دور بخش هایی از Win32 API هست. طبیعتا در استفاده های خیلی خاص، سربار بیشتری از توابع API ویندوز داره. اما در اکثر موارد، کد نوشته شده توسط برنامه نویس، یا مسائل و مشکلات مختلفی که ممکنه در حین پیاده سازی همه این امکانات توسط برنامه نویس پیش بیاد، میتونه باعث بشه که کد برنامه نویس که مستقیما با استفاده از Win32 API نوشته شده، کارایی پایین تری داشته باشه.

استفاده نکردن از VCL زمانی توجیه خوبی داره که شما به اکثر امکانات ارائه شده توسط آن نیاز نداشته باشید، و آشنایی مناسبی هم با توابع API ویندوز و چگونگی عملکرد آنها داشته باشید. در اون صورت می تونید به جای کلاس ها و روتین های VCL که باید شرایط و حالات مختلف را برای نیازهای مختلف برنامه نویس لحاظ کنند، کدی بنویسید که به طور اختصاصی برای نیاز شما بهینه شده باشه.


مثل گیم انجین ها
توی Game Engine با VCL چیکار دارید؟! VCL به بخشی از کتابخانه کلاس های دلفی گفته میشه که شامل کنترل های ویژوال و غیر ویژوال هست (کلاس های مشتق از TControl). به توابع و کلاس های دلفی که در زمان Runtime برای امور مختلف در دسترس برنامه نویس هستند، مثل توابع و کلاس های موجود در یونیت SysUtils، یا بسیاری از کلاس های موجود در یونیت Classes در دلفی، VCL گفته نمیشه، بلکه اینها جزو RTL دلفی هستند. البته در محاوره، این امر معمولی هست که به اشتباه به کل کتابخانه کلاس های دلفی VCL گفته بشه. اما اگر بخوایم دقیق بگیم، VCL کل کتابخانه کلاس های دلفی نیست.

1485159
شنبه 22 آبان 1389, 18:31 عصر
توی Game Engine با VCL چیکار دارید؟!
با کتابخانه pngimage کار دارم که اون هم جزو vcl هست! یعنی اگه توی پروژه vcl رو غیر فعال کنی دیگه نمیشه ازش استفاده کرد! اگه ممکنه یه کتابخانه هم برای فایل های Png معرفی کنید!
ممنون.