سؤال

أنا أعمل على مكتبة الرياضيات لمحرك DirectX 3D الخاص بي في C #.أنا أستخدم slimdx، وهو مبدئي وضعت معا مكتبة قوية.يوفر SlimDX عددا قليلا من فئات الرياضيات، لكنها في الواقع مغلفة حول كائنات D3DX الأصلية، لذلك في حين أن الكائنات نفسها سريعة جدا، سريعة جدا، فإن Interop لا أفترض، لأن بلدي رمز C # المدار يتفوق عليه.

سؤالي الخاص له علاقة بمقارنة النقطة العائمة.النوع - الطريقة الكنسية هو تحديد قيمة EPSILON، وقارن القيمة للفرق بين قيم النقطة العائمة لتحديد التقارب، مثل ذلك:

giveacodicetagpre.

ستؤدي الدالة إلى تسوية المكالمات العامة المقارنة الفعلية، بحيث يتم إبزيم هذه الوظيفة التافهة في C ++، هل سيفعل برنامج التحويل البرمجي C # هذا؟هل هناك طريقة لإخبار التحويل البرمجي C # الذي أريد أن ينبذه طريقة؟

هل كانت مفيدة؟

المحلول

برنامج التحويل البرمجي C غير متباين - لكن JIT قد تفعل ذلك جيدا في هذه الحالة.هذا بالتأكيد قطعة أداء التنين، إذا كان أي شيء.

تحرير: سأتوقع لتثبيته في هذه الحالة، لكن من الصعب تحديده دون تحميل التعليمات البرمجية في شيء مثل Cordbg مع تحميل JITقد يكون لكل إصدار CLR مختلف تعديلات مختلفة إلى مطیلها (بما في ذلك 64 بت vs 32 بت clrs) لذلك أنا متردد في قول أي شيء محدد للغاية.

نصائح أخرى

إليك بعض المعلومات حول الظروف التي لن تؤديها JIT إلى التناغم؛

p> http://blogs.msdn.com/b/davidnotario/archive/2004/11/01/250398.aspx

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top