স্কিয়া একটি ওপেন সোর্স 2D গ্রাফিক্স লাইব্রেরি
ওয়েব ব্রাউজার এবং ডেস্কটপ এনভায়রনমেন্ট ডেভেলপমেন্টের জগতে , অপটিমাইজেশন ও পারফরম্যান্স ব্যবহারকারীদের কাছে সবচেয়ে কাঙ্ক্ষিত বৈশিষ্ট্যগুলোর মধ্যে অন্যতম । কারণ এগুলো এমন গুরুত্বপূর্ণ দিক যা সরাসরি ব্যবহারকারীর অভিজ্ঞতাকে প্রভাবিত করে এবং ওয়েব ব্রাউজার বেছে নেওয়ার ক্ষেত্রে প্রধান বিবেচ্য বিষয়গুলোর মধ্যে পড়ে।
এই প্রেক্ষাপটে, WPEWebKit এবং WebKitGTK (সাফারি এবং এপিফ্যানি/গ্নোম ওয়েবের মতো ব্রাউজারগুলিতে ব্যবহৃত ব্রাউজার ইঞ্জিন)-এর নেপথ্যের উন্নয়ন দলগুলি ২ডি গ্রাফিক্স রেন্ডারিংয়ের জন্য স্কিয়া লাইব্রেরি ব্যবহারের সক্ষমতা অন্তর্ভুক্ত করেছে ।
গত কয়েক বছর ধরে, WebKit ডেভেলপাররা WebKitGTK এবং WPEWebKit-এর গ্রাফিক্স পারফরম্যান্স উন্নত করার জন্য নিরলসভাবে কাজ করে আসছেন। যদিও মাল্টিথ্রেডেড রেন্ডারিং এবং VSync-এর মতো ফিচারগুলো বাস্তবায়ন করা হয়েছে , এটা স্পষ্ট হয়ে গিয়েছিল যে সিপিইউ-ভিত্তিক ২ডি রেন্ডারারটি পারফরম্যান্স এবং দক্ষতার দিক থেকে তার সীমাবদ্ধতায় পৌঁছে গেছে। উল্লেখ করা হয়েছে যে, Skia বেছে নেওয়ার আগে তারা বিভিন্ন বিকল্প খতিয়ে দেখেছিলেন। WebKitGTK দ্বারা ব্যবহৃত Cairo লাইব্রেরিতে ২ডি জিপিইউ রেন্ডারিং ক্ষমতা যোগ করার প্রচেষ্টাগুলো লাইব্রেরির আর্কিটেকচারের সীমাবদ্ধতার কারণে ব্যর্থ হয়েছিল। উপরন্তু, পারফরম্যান্স এবং রেন্ডারিং কোয়ালিটির মধ্যে ভারসাম্য অর্জনের অসুবিধার কারণে একটি কাস্টম রেন্ডারিং লাইব্রেরি তৈরির প্রকল্পটি পরিত্যক্ত হয়েছিল।
কায়রো সমর্থন GPU রেন্ডারিং করার একটি প্রচেষ্টা ছিল, যা বিশেষভাবে ভাল কাজ করেনি কারণ লাইব্রেরিটি পোস্টস্ক্রিপ্ট মডেলের উপর ভিত্তি করে একটি রাষ্ট্রীয় ক্রিয়াকলাপের আশেপাশে ডিজাইন করা হয়েছিল, যার ফলে একটি সুবিধাজনক এবং পরিচিত API, চমৎকার আউটপুট মানের সাথে, কিন্তু পুনর্নির্মাণ করা কঠিন। এবং কিছু বিশেষভাবে ধীর কোণার ক্ষেত্রে। ইতিমধ্যে, অন্যান্য ওয়েব ইঞ্জিনগুলি GPU-তে আরও কাজ স্থানান্তরিত করেছে, 2D রেন্ডারিং সহ, যেখানে অনেকগুলি ক্রিয়াকলাপ যথেষ্ট দ্রুত।
যদিও এপিআই স্থিতিশীলতার সমস্যা, বাহ্যিক নির্ভরতা হিসেবে এর ব্যবহার এবং ওয়েবকিটে একটি তৃতীয়-পক্ষের মডিউল রক্ষণাবেক্ষণের প্রয়োজনীয়তার কারণে স্কিয়া ব্যবহারের ধারণাটি প্রাথমিকভাবে প্রত্যাখ্যাত হয়েছিল , অবশেষে ওয়েবকিটজিটিকে-তে গ্রাফিক্স রেন্ডারিংয়ের কর্মক্ষমতা উন্নত করার জন্য এটিকে সর্বোত্তম সমাধান হিসেবে বিবেচনা করা হয় ।
স্কিয়া একটি গ্রাফিক্স লাইব্রেরি যা ক্রোম, ফায়ারফক্স, ক্রোমওএস, অ্যান্ড্রয়েড এবং ফ্লাটার সহ গুগলের বিভিন্ন প্রোডাক্টে ব্যবহৃত হয়। এই সংযোজনটি জিপিইউ-ভিত্তিক রেন্ডারিং সক্ষম করে, যা গ্রাফিক্স পারফরম্যান্সকে উল্লেখযোগ্যভাবে উন্নত করতে পারে।
GNOME-এর জন্য WebKitGTK-এর কর্মক্ষমতা অপ্টিমাইজ করার একটি উদ্যোগের অংশ হিসাবে ইগালিয়া দ্বারা স্কিয়াতে স্থানান্তর করা হয়েছিল। এটি উল্লেখ করা হয়েছে যে এই স্থানান্তরের পিছনে প্রধান কারণ ছিল CPU ব্যবহার করে 2D রেন্ডারিং কর্মক্ষমতা অপ্টিমাইজ করার প্রক্রিয়ার একটি সীমাতে পৌঁছানো। GPU ব্যবহার গ্রাফিক্স রেন্ডারিং কর্মক্ষমতা উন্নত করার জন্য অতিরিক্ত ক্ষমতা প্রদান করে।
২০২৩ সালের ডিসেম্বরে অভ্যন্তরীণ পরীক্ষার মাধ্যমে স্কিয়া-তে রূপান্তর শুরু হয় এবং এর প্রাথমিক ফলাফল ছিল বেশ চমকপ্রদ। বিশেষ করে ডেস্কটপে, তাৎক্ষণিকভাবেই পারফরম্যান্সে উল্লেখযোগ্য উন্নতি লক্ষ্য করা যায়। পরীক্ষা যত এগোতে থাকে, ততই স্পষ্ট হয়ে ওঠে যে স্কিয়া শুধু উন্নত পারফরম্যান্সই দেবে না, বরং কোডকেও সরল করবে এবং নতুন ফিচারের পথ খুলে দেবে।
২০২৪ সালের ফেব্রুয়ারিতে, একটি নিবিড় উন্নয়ন ও পরীক্ষা পর্বের পর, Skia-এর বাস্তবায়ন একটি 'আপস্ট্রিমযোগ্য' অবস্থায় পৌঁছেছিল, যার অর্থ হলো এটি সর্বসাধারণের জন্য WebKitGTK এবং WPEWebKit-এ সংহত হওয়ার জন্য প্রস্তুত ছিল। ডেভেলপার সম্প্রদায়ের কাছ থেকে প্রাথমিক প্রতিক্রিয়া ইতিবাচক হওয়ায়, এটি রূপান্তর প্রক্রিয়ায় একটি গুরুত্বপূর্ণ মাইলফলক হিসেবে চিহ্নিত হয়।
দলটি WebKitGTK এবং WPEWebKit-এ স্কিয়া বাস্তবায়নের উন্নতি অব্যাহত রাখতে প্রতিশ্রুতিবদ্ধ, GPU রেন্ডারিং কর্মক্ষমতা এবং দক্ষতাকে আরও অপ্টিমাইজ করার পরিকল্পনা নিয়ে। যদিও বর্তমানে ফোকাস WPE পোর্টের উপর, এটা আশা করা হচ্ছে যে GTK এর মত অন্যান্য পোর্টগুলিও ভবিষ্যতে Skia থেকে সমর্থন পাবে।
অবশেষে, আপনি যদি এই বিষয়ে আরও জানতে আগ্রহী হন , তাহলে নিচের লিঙ্কে বিস্তারিত তথ্য পেতে পারেন ।