شاید تیتر مطلب کمی عجیب باشه اما در پشت این تیتر یک موضوع فنی جالب قرار داره که بعد از انجام تست های زیادی متوجه این موضوع شدیم. معمولا زبان های اسکریپتی (مثل Lua) وظیفشون اینه که برای یک API سطح پایین, یک رابط منعطف سطح بالاتر ایجاد میکنند که بعضا در حالت run-time و بدون کامپایل مجدد هم قابل تغییر و استفاده باشه. در Kite2D این زبان اسکریپتی رابطی برای کتابخانه Kite2D که تماما در ++C پیاده شده فراهم میکنه و کاربر میتونه بدور از پیچیدگی های زبان سطح پایینی مثل ++C برای انجین در زبان سطح بالاتر و راحتتری مثل Lua کد نویسی کنه. اما در پشت صحنه این موضوع یک تبادل داعم و پیوسته بینه Lua و ++C در جریانه و در اصل هر تابعی که شما در Lua صدا میزنید بلافاصله نسخه ++C آن تابع توسط Lua فراخانی میشه و نتیجه کار مجددا توسط Lua به شما برگردانده میشه, این تبادل بینه دو زبان هزینه هایی داره که در بعضی مواقع ناچیز و در بعضی مواقع سنگین هست. برای اینکه متوجه بشیم تستهای زیادی انجام دادیم و در نهایت فهمیدیم که ارتباط بینه C++ ---> Lua بسیار کندتر از ارتباط ++Lua ---> C هست! با توجه به همین موضوع کل سیستم آپدیت اشیاع تغییر کرد و بخش زیادی بازنویسی شد که حدودا 60/70 فریم به سرعت آپدیت اشیاع اضافه شد!