پاسخ این سوال، محدود به داشتن یا نداشتن DirectX نمیشه؛ در حقیقت، باید بدونیم WPF چطوری کار می کنه؟
Windows Presentation Foundation، یه سامانه ی فرعی گرافیکی، برای رندر کردن واسط کاربری برنامه های ویندوزیه. برای این منظور، برنامه هایی که به کمک این تکنولوژی تهیه میشن، واسط کاربریشون در سه سطح گرافیکی مجزا، رندر میشه.
-
در سطح اول، تمامی رندر ها، نرم افزاری هستن و هیچ نیازی به استفاده از منابع سخت افزاری نداریم.
-
در سطح دوم، بخشی از رندرها به کمک منابع سخت افزاری صورت می گیره، بخش دیگه به صورت نرم افزاری.
-
در سطح سوم، بیش تر رندر ها، به صورت سخت افزاری صورت می گیره.
تعیین اینکه از کدوم سطح گرافیکی برای رندر کردن واسط کاربری استفاده بشه، به عهده ی WPF؛ اما ما می تونیم متوجه بشیم که،در یه برنامه ی نمونه، از چه سطحی برای این منظور داره استفاده میشه؛ در این صورت، به کمک قطعه کد های این چنینی می شه به این موضوع پی برد:
int renTier = (RenderCapability.Tier >> 16);
MessageBox.Show(string.Format("Tier = {0}", renTier));
حالا، لازمه یادآور بشیم که، DirectX، دسته ای API های توسعه داده شده از سوی Microsoft که، به برنامه نویسا، قابلیت استفاده از ویزگی های سخت افزاری یه دستگاه رو میده؛ یعنی بدون این که بدون این که وارد جزئیات بشیم، می تونیم از بهترین ویزگی های سخت افزاری، برای برنامه های چند رسانه ای مون، استفاده کنیم.
پس در حقیقت، DirectX مدیریت منابع سخت افزاری دستگاه رو به عهده می گیره.
حالا با تمام این حرفا روشنه که، یه برنامه ی تهیه شده به کمک WPF، دو جور پیش نیاز نرم افزاری و سخت افزاری داره؛(البته به جز سطح یک که، نیازی به استفاده از منابع سخت افزاری دستگاه نیست.)
یعنی مثلا در دستگاه کاربر پذیرنده:
-
اگه مشخصه های سخت افزاری پایین باشه، به طبع کاربر مورد نظر، از برخی قابلیت های چند رسانه ای برنامه ی ما، محروم میشه.
-
اگه، درایور های دستگاه کاربر، نصب نشده باشن، عملکرد مناسبی از برنامه ی یاد شده، نداره.
-
اگه DirectX هم نصب نشده باشه، ارتباط های برنامه ی ما با منابع سخت افزاری، به صورتی که مورد نظر تکنولوژی WPF هست، بر قرار نمیشه و نتیجه ی مطلوب ما حاصل نمیشه.
پس به طور کلی، برنامه ی نهایی ما، با این تکنولوژی، حتی بدون DirectX و سخت افزار مناسب هم، اجرا میشه، اما اون همه کاری که در قسمت واسط کاربری براش زحمت کشیدیم، به هدر می ره.