سلور لائٹ 5 میں ایکس این اے کا استعمال کرتے ہوئے کسی پروگرام کو ڈیبگ کرنے کے لئے۔

جب صفحے کی تازہ کاری :
صفحہ تخلیق تاریخ :

وضاحتیں منصوبے کی تخلیق سے ترتیب میں وضاحت کی جاتی ہیں، لہذا براہ کرم ان حصوں کو چھوڑ دیں جو آپ سمجھتے ہیں.

سب سے پہلے ، سلور لائٹ ایپلی کیشن بنائیں۔ بصری اسٹوڈیو مینو سے ، فائل ، نیا ، پروجیکٹ منتخب کریں۔

プロジェクトの新規作成

سلور لائٹ ایپلی کیشن منتخب کریں۔

Silverlight アプリケーションを選択

ویب سائٹس کی میزبانی کے بارے میں، اس سائٹ کی وضاحت کرنا یقینی بنائیں جس کی آپ میزبانی کرنا چاہتے ہیں. ٹیسٹ صفحات جو اکیلے سلور لائٹ میں ڈیبگ کرتے وقت خود بخود تیار ہوجاتے ہیں وہ ایکس این اے پروگرام نہیں چلا سکتے ہیں جو جی پی یو کا استعمال کرتے ہیں۔ (تاہم ، جب آپ دستی طور پر ٹیسٹ پیج بناتے ہیں تو اس کا اطلاق نہیں ہوتا ہے۔

ホストする Web サイトの作成

پروجیکٹ بننے کے بعد ، سلور لائٹ ایپلی کیشن میں حوالہ جات پر دائیں کلک کریں اور حوالہ شامل کریں کو منتخب کریں۔

参照の追加

بائیں طرف کے مینو سے "اسمبلی" اور "فریم ورک" منتخب کریں اور درج ذیل آئٹمز کو چیک کریں۔ (ابھی تک ٹھیک ہے بٹن نہ دبائیں)

  • Microsoft.Xna.Framework
  • Microsoft.Xna.Framework.Graphics
  • System.Windows.Xna

参照するアセンブリを選択

اگلا ، بائیں طرف والے مینو سے "ایڈوانس" منتخب کریں ، درج ذیل آئٹمز چیک کریں ، اور ٹھیک ہے بٹن دبائیں۔

  • Microsoft.Xna.Framework.Graphics.Extensions
  • Microsoft.Xna.Framework.Math

ہم نے ایکس این اے پروگرام چلانے کے لئے کم از کم ضروری کا انتخاب کیا ہے ، لہذا اپنی ضروریات کے مطابق حوالہ دینے کے لئے اسمبلی کا انتخاب کریں۔

参照するアセンブリを選択

اسمبلی کا ایک حوالہ شامل کیا گیا ہے۔

参照一覧

اگلا ، ہم کوڈ کو موافقت دیں گے۔ اس بار ، صرف کم سے کم معلومات جو یہ ظاہر کرتی ہے کہ آیا ایکس این اے پروگرام نے صحیح طریقے سے کام کیا ہے یا نہیں اس کی وضاحت کی گئی ہے۔

اپنی سلور لائٹ ایپلی کیشن سے ، مین پیج ڈاٹ ایکس اے ایم ایل کھولیں اور درج ذیل کوڈ شامل کریں:

<Grid x:Name="LayoutRoot" Background="White">
  <!-- 追加ここから -->
  <DrawingSurface Draw="DrawingSurface_Draw" />
  <TextBlock x:Name="textBlockMessage"/>
  <!-- 追加ここまで -->
</Grid>

ڈرائنگ سرفیس وہ علاقہ ہے جس کی طرف ایکس این اے پروگرام کھینچتا ہے۔ جب پھانسی دی جاتی ہے تو ، ڈرا ایونٹ بار بار ہوتا ہے ، لہذا وہاں ڈرائنگ کے عمل کی وضاحت کریں۔ اس بار ، میں صرف پس منظر کا رنگ کھینچوں گا تاکہ آپ دیکھ سکیں کہ آیا یہ مناسب طریقے سے کام کر رہا ہے یا نہیں۔

ٹیکسٹ بلاک میسج متن کو ظاہر کرنے کے لئے استعمال کیا جاتا ہے کہ آیا ایکس این اے پروگرام مناسب طریقے سے کام کر رہا ہے یا نہیں۔ اس بار میں اس کی تصدیق کرنے کے لئے اسے ڈال رہا ہوں، لہذا مجھے اصل رہائی میں اس کی ضرورت نہیں ہے.

اس کے بعد "مین پیج ڈاٹ ایکس اے ایم ایل.cs" فائل کھولیں۔ سب سے پہلے ، آئیے استعمال کرنے والے حصوں کو ترتیب دیں۔ سلور لائٹ ایپلی کیشن کے لئے نام کی جگہ کی وضاحت کی گئی ہے ، لہذا ہم اسے ایکس این اے کے لئے تبدیل کریں گے۔ اصل میں اسے تخلیق کرتے وقت، براہ کرم اپنی درخواست کے مطابق اس کی وضاحت کریں.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
//using System.Windows.Input;
//using System.Windows.Media;
//using System.Windows.Media.Animation;
//using System.Windows.Shapes;

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using System.Windows.Graphics;

اگلا ، جب آپ شروع کرتے ہیں تو ، آپ موجودہ ملاوٹ موڈ اور اس وجہ سے ظاہر کرنا چاہتے ہیں کہ آپ متن میں کیوں نہیں کھینچ سکتے ہیں۔ میں اسے کنسٹرکٹر میں لکھتا ہوں کیونکہ مجھے معلوم ہے کہ سلور لائٹ ایپلی کیشن کب لانچ کی جاتی ہے۔

public MainPage()
{
  InitializeComponent();

  textBlockMessage.Text
    = string.Format("RenderMode:{0}\r\nRenderModeReason:{1}",
                    GraphicsDeviceManager.Current.RenderMode.ToString(),
                    GraphicsDeviceManager.Current.RenderModeReason);
}

ڈرائنگ کا عمل لکھیں۔ اس معاملے میں ، ہم صرف یہ چاہتے ہیں کہ جب ڈرائنگ کا واقعہ پیش آتا ہے تو ایکس این اے فریم ورک پس منظر کھینچے۔

private void DrawingSurface_Draw(object sender, DrawEventArgs e)
{
  GraphicsDeviceManager.Current.GraphicsDevice.Clear(new Color(0x64, 0x95, 0xED));
}

آئیے ڈیبگنگ چلاتے ہیں۔

デバッグ実行。

جب آپ اسے چلاتے ہیں تو ، یہ اعداد و شمار میں دکھائے جانے کے مطابق دکھایا جائے گا۔ رینڈ موڈ: دستیاب نہ ہونے سے ہارڈ ویئر رینڈرنگ کی اجازت نہیں ملتی ہے ، رینڈر موڈ ریجن: جی پی یو ایکسلریشن نااہل جی پی یو رینڈرنگ کو غیر فعال کرتا ہے۔ یہ سرور سائیڈ کا مسئلہ ہے ، لہذا آپ کو پہلے اسے فعال کرنے کی ضرورت ہے۔

描画ができない

سلور لائٹ رن میں میزبان ASP.NET پروجیکٹ سے < پروجیکٹ کا نام >ٹیسٹ پیج.aspx فائل کھولیں۔

TestPage.aspx を開く

آبجیکٹ کے پیرامیٹر میں "فعال جی پی یو ایکسلریشن" شامل کریں اور قدر کو "درست" پر سیٹ کریں۔ اس سے سرور سائیڈ کو اس سلور لائٹ ایپلی کیشن کو جی پی یو استعمال کرنے کی اجازت مل جاتی ہے۔ (دراصل ، یہ کلائنٹ پروسیسنگ کے ذریعہ حل کیا جاتا ہے ، لیکن چونکہ یہ سرور ہے جو ایچ ٹی ایم ایل کو آؤٹ پٹ کرتا ہے ، لہذا یہ سرور سائیڈ کا مسئلہ ہے۔

<body>
  <form id="form1" runat="server" style="height:100%">
    <div id="silverlightControlHost">
      <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
        <param name="source" value="ClientBin/DebugXna.xap"/>
        <param name="onError" value="onSilverlightError" />
        <param name="background" value="white" />
        <param name="minRuntimeVersion" value="5.0.61118.0" />
        <param name="autoUpgrade" value="true" />
        <!-- 追加ここから -->
        <param name="EnableGPUAcceleration" value="true" />
        <!-- 追加ここまで -->
        <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=5.0.61118.0" style="text-decoration:none">
          <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Microsoft Silverlight の取得" style="border-style:none"/>
        </a>
      </object>
      <iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe>
    </div>
  </form>
</body>

اگر آپ اسے اس کے ساتھ چلانے کی کوشش کرتے ہیں تو ، یہ اعداد و شمار کی طرح نظر آئے گا۔ رینڈ موڈ ریزن اب سیکیورٹی بلاک ہے۔ اس کی وجہ یہ ہے کہ سیکیورٹی وجوہات کی بناء پر جی پی یو ڈرائنگ کی بطور ڈیفالٹ اجازت نہیں ہے۔ چونکہ یہ کلائنٹ کا مسئلہ ہے ، لہذا ڈیبگنگ چلانے کے علاوہ ، آپ کو صارف کو جی پی یو کو کھینچنے کی اجازت دینے کے لئے مندرجہ ذیل اقدامات انجام دینے کی بھی ضرورت ہے۔

RenderModeReason が SecurityBlocked に変化

جی پی یو رینڈرنگ کی اجازت دینے کے لئے ، سلور لائٹ ایپلی کیشن پر دائیں کلک کریں اور مینو سے سلور لائٹ کا انتخاب کریں۔

Silverlight を選択

کھلنے والے ڈائیلاگ میں ، "اجازتیں" ٹیب منتخب کریں ، مناسب سائٹ منتخب کریں ، اور پھر "اجازت دیں" بٹن پر کلک کریں۔

アクセス許可

جب اجازت "اجازت دیں" ہو تو ، ٹھیک ہے بٹن پر کلک کریں۔

アクセス許可が「許可」に代わる

اگر آپ ڈیبگنگ کرتے ہوئے ڈیبگنگ کر رہے ہیں تو ، براؤزر کو ریفریش کرنے سے اثر نہیں پڑتا ہے ، لہذا اگر آپ براؤزر کو بند کرتے ہیں اور اسے دوبارہ چلاتے ہیں تو ، آپ دیکھیں گے کہ رینڈر موڈ ہارڈ ویئر ڈرائنگ بن جاتا ہے اور ایکس این اے بیک گراؤنڈ ڈرائنگ بھی فعال ہوجاتی ہے۔ اب آپ اپنے دل کے مواد کے لئے ایکس این اے پروگرام تشکیل دے سکتے ہیں۔

ハードウェアによる描画が有効