مسلما ناوتي داگ يكي از نام آشنا ترين استوديوهاي بازي سازي در عصر معاصر است. هميشه توانايي آنان در ساخت بازي و خلق تجربيات بي نظير مثال زدني بوده است. اما علاوه بر اين بدون شك توانايي فني اين استوديو نيز بسيار مورد توجه بوده است. با در نظر گرفتن تمامي اين موارد اطلاع از نظرات ايشان در رابطه با سخت افزار جديد سوني خالي از لطف نيست
در طول نمايشگاه Semana Informática در ليسبون پرتغال جناب آقاي جيسون گرگوري برنامه نويس ارشد ناوتي داگ به تشريح سخت افزار PS4 پرداخت و همچنين توضيح داد كه چگونه ناوتي داگ تلاش ميكند تا با بهينه سازي اين منابع دست به توليد اثري شگفت انگيز بزند.
در ايتدا 8 گيگابايت رم PS4 بسيار زياد بنظر ميرسد ولي به عقيده ايشان در حال حاضر فقط 5 گيگ براي بازيها درنظر گرفته شده و آن نيز بسرعت پر ميشود.
به همين منظور ناوتي داگ در مصرف رم و همينطور تخصيص منابع بسيار محتاط است.
يكي از بزرگترين دشمنان ما در هم گسيختگي اطلاعات بر روي رم (Fragmentation) است. به اين علت كه اين مسئله باعث ميشود رم زودتر از حالت معمول پر شود. ناوتي داگ اين مشكل را با تخصيص دهندگان اختصاصي منابع custom-tailoring memory allocators مرتفع مي كند.
به علاوه استوديو از نقشه هاي انحصاري تخصيص منابع در انجين خود استفاده مي كنند. بدين معني كه در هر لحظه دقيقا مشخص است كه در كجا رم مورد استفاده قرار مي گيرد و خود رم استفاده شده چه نوع حافظه ايست.
اين مسئله بسيار مهمي است چرا كه بسياري از Dev-kit ها كه شامل PS3 هم ميشود معمولا ببه منظور Debugging از دوبرابر رم بهره ميبرند. اين بدن معناست كه بازيها نبايد از آن رم استفاده كنند.
او همچنين در مورد ساختار چند هسته اي PS4 توضيحاتي ميدهد.
خوب ما با 8 هسته مواجه هستيم كه هر كدام از پردازنده ي PS3 قدرتمند تر هستند. اين هشت هسته در دو خوشه طبقه بندي شده اند.
گرگوري ميگويد كه پردازنده اصلي PS4 بيشتر از ميزاني قدرت دارد كه براي رندر بازي ها در 1080p و 60 فريم مورد نياز است. طراحان PS4 قصد داشتند كه قدرت اضافه اي را براي GPU در نظر بگيرند كه قدرت بسيار بالايي براي پردازش هاي موازي بوجود مي آورد . اين خود به توسعه دهندگان امكان ميدهد كه فيزيك شبيه سازي لباس و مايعات و غيره را در GPU بهبود ببخشند.
ICE Team براي PS3 سيستمي را توسعه داده بود به نام Job System تا بتوانند از معماري چند هسته اي آن بهر بگيرند كه سيستم مشابهي نيز براي PS4 طراحي شده است.
البته تنها 6 هسته براي استفاده در بازيها مهياست. 2 هسته ديگر توسط سيستم عامل استفاده ميشوند. Job Systam همچنين از 6 هسته ي GPU بهر ميگيرد. هسته ها به اين صورت كار ميكنند كه يك هسته وظيفه پردازش لوپ اصلي را بعهده ميگيرد و 5 تاي باقي مانده باقي پردازش ها را بين خود به اشتراك ميگذارند.
از سوي ديگر GPU مسئول رندر و پردازش GPGPU است. كه اصولا شامل پردازش فيزيك لباس و ..... است كه قبلا اشاره شد.
مفهوم بسيار مهمي ديگري كه مطرح است بهينه سازي است. قانوني وجود دارد كه 80 به 20 نام دارد طبق اين قانون نرم افزار 80 درصد وقت خود را صرف پردازش 20 در صد اطلاعات شما ميكند.
زماني كه نرم افزار را بهينه ميكنيد وقت خودتان را صرف آن 80 درصد نميكنيد چرا كه اطلاف وقت است. اما ناوتي داگ تمركز بسيار ويژه اي بر روي آن 20 درصد دارد. اين مسئله باعث ميشود كه گرافيك بازي ها بتدريج پيشرفت كنند.
شناخت سخت افزار هم بسيار اهميت دارد. بعضي از بهينه سازي ها مختص سخت افزار خاصي است. كه اين خود شناخت عميق شما را از سخت افزار طلب ميكند.
كشينگ حافظه بخش بزرگي از بهينه سازي است. سخت افزار هاي امروزي زمان زيادي را صرف دستيابي اطلاعات از حافظه ميكنند كه مسلما حجم زيادي دارد. در درجه دوم حاظه كش بسيار كوچكتري وجود دارد كه بنام L2 شناخته ميشود. و سپس L1 كه بسيار سريعتر است. و درنهايت حافظه Reg بر روي چيپ اصلي كه بسيار بسيار كوچك است.
كوچك نگاه داشتن اطلاعاتي كه نياز به سرعت بالا دارند از اين حيث بسيار پر اهميت است. چرا كه بايد بر روي كش جا شوند. دستيابي به حافظه كش بسيار سريع است. كوچك نمودن اين حافظه بسيار سودمند تر بنظر مي رسد.
PS4 همانطور كه اشاره شد داراي هشت هسته است كه در دو خوشه طبقه بندي شده اند. كش L2 به دو بخش تقسيم شده كه هر كدام به يكي از اين خوشه ها اختصاص مي يابد. ارتباط بين خوشه ها و كش هايشان 26 چرخه به طول مي انجامد.
ارتباط بين يك خوشه و كش خوشه ديگر بسيار كندتر و حدود 190 چرخه مدت نياز خواهد داشت.
اين اطلاعات به استوديو كمك ميكند كه اطلاعات هر خوشه را در كش خود آن خوشه بكار گيرند تا از اطلاف زمان خلوگيري شود.
در پايان نكته بسيار جالب اين است كه اين خصوصيت بسيار بروي PS3 مشكل آفرين بوده است چرا كه PS3 در بكار گيري اطلاعات كش ها براي خوشه خودشان بسيار ضعيف عمل ميكرده است.
اما از آن سو PS4 در حدس زدن ارتباط كش و خوشه بسيار بسيار بسيار خوب عمل ميكند. اين مسئله باعث ميشود كه كار زيادي از دوش CPU برداشته شود و نتيجه كار بسيار بهبود پيدا كند.
شنيدن تمام اينها از زبان گرگوري فقط يك نتيجه دارد و آن هم اينكه ما را براي ديدن اولين بازي ناوتي داگ بر روي PS4 از خود بي خود ميكند. مشكل اينجاست كه تا ديدن نتيجه كار اين استوديو ي ديوانه تكنولوژي من و جيبم بايد كمي صبر كنيم.
منبع
آپدیت:
همانطور که اطلاع دارید ICE Team یکی از زیر مجموعه های ناوتی داگ است که به امر توسعه زیر ساختهای نرم افزاری و تکنولوژی های مرتبط با آن برای استفاده FP های سونی در ساخت بازی برای پلتفورمهای پلی استیشن است. اما دقیقا الان IT در حال انجام چه کاری است.
در حال حاضر ICE Team در حال توسعه ی نرم افزاری است که پرفورمنس GPU ی PS4 را اندازه گیری میکند این امر برای دیباگینگ نرم افزاری مورد نیاز است.
در حال حاضر این تیم در حال تلاش است تا بتوانند از آخرین قطره های قدرت PS4 بصورت مطلوبی بهره ببرند. با استفاده از نرم افزار Razor Profiler توسعه دهندگان میتوانند در یابند که چه عملی بیشترین بسامد و تکرار را در پروسه پردازش به خود اختصاص میدهد. این نرم افزار آنان را قادر میسازد که بصورت بصری ببینند که در هر لحظه چه عملی بر روی CPU و GPU پردازش میشود. به اعمالی که بیشترین بسامد را داشته باشند به اختصار HOT Function گفته میشود. توسعه دهندگان بدین وسیله متوجه میزان زمان مورد نیاز برای هر دستور العمل میشوند. این خود به بهینه سازی نرم افزاری کمک میکند. به یاد داشته باشیم بهینه سازی در حد چند میکروثانیه میتواند تفاوت 30 فریم ویا 60 فریم ایجاد کند.
بعلاوه این نرم افزار میتواند برای حذف داده های مرده نیز بکار آید. بعد از اینکه دستورالعملها اجرا شدند. معمولا بخشی از حافظه و قدرت پردازشی را اشغال میکنند. با استفاده از این نرم افزار میتوان این داده های به اصطلاح مرده را حذف کرد.
منبع
در طول نمايشگاه Semana Informática در ليسبون پرتغال جناب آقاي جيسون گرگوري برنامه نويس ارشد ناوتي داگ به تشريح سخت افزار PS4 پرداخت و همچنين توضيح داد كه چگونه ناوتي داگ تلاش ميكند تا با بهينه سازي اين منابع دست به توليد اثري شگفت انگيز بزند.
در ايتدا 8 گيگابايت رم PS4 بسيار زياد بنظر ميرسد ولي به عقيده ايشان در حال حاضر فقط 5 گيگ براي بازيها درنظر گرفته شده و آن نيز بسرعت پر ميشود.
Even in the PlayStation 4 you have 5 gigs, which seems like a lot but you’ll be amazed by how quickly it fills up.
به همين منظور ناوتي داگ در مصرف رم و همينطور تخصيص منابع بسيار محتاط است.
يكي از بزرگترين دشمنان ما در هم گسيختگي اطلاعات بر روي رم (Fragmentation) است. به اين علت كه اين مسئله باعث ميشود رم زودتر از حالت معمول پر شود. ناوتي داگ اين مشكل را با تخصيص دهندگان اختصاصي منابع custom-tailoring memory allocators مرتفع مي كند.
به علاوه استوديو از نقشه هاي انحصاري تخصيص منابع در انجين خود استفاده مي كنند. بدين معني كه در هر لحظه دقيقا مشخص است كه در كجا رم مورد استفاده قرار مي گيرد و خود رم استفاده شده چه نوع حافظه ايست.
اين مسئله بسيار مهمي است چرا كه بسياري از Dev-kit ها كه شامل PS3 هم ميشود معمولا ببه منظور Debugging از دوبرابر رم بهره ميبرند. اين بدن معناست كه بازيها نبايد از آن رم استفاده كنند.
او همچنين در مورد ساختار چند هسته اي PS4 توضيحاتي ميدهد.
خوب ما با 8 هسته مواجه هستيم كه هر كدام از پردازنده ي PS3 قدرتمند تر هستند. اين هشت هسته در دو خوشه طبقه بندي شده اند.
گرگوري ميگويد كه پردازنده اصلي PS4 بيشتر از ميزاني قدرت دارد كه براي رندر بازي ها در 1080p و 60 فريم مورد نياز است. طراحان PS4 قصد داشتند كه قدرت اضافه اي را براي GPU در نظر بگيرند كه قدرت بسيار بالايي براي پردازش هاي موازي بوجود مي آورد . اين خود به توسعه دهندگان امكان ميدهد كه فيزيك شبيه سازي لباس و مايعات و غيره را در GPU بهبود ببخشند.
ICE Team براي PS3 سيستمي را توسعه داده بود به نام Job System تا بتوانند از معماري چند هسته اي آن بهر بگيرند كه سيستم مشابهي نيز براي PS4 طراحي شده است.
![NDPS4_2-571x425.jpg](/proxy.php?image=http%3A%2F%2Fcdn.dualshockers.com%2Fwp-content%2Fuploads%2F2014%2F03%2FNDPS4_2-571x425.jpg&hash=0959e99b6875c9f4bf8b552359dacda0)
البته تنها 6 هسته براي استفاده در بازيها مهياست. 2 هسته ديگر توسط سيستم عامل استفاده ميشوند. Job Systam همچنين از 6 هسته ي GPU بهر ميگيرد. هسته ها به اين صورت كار ميكنند كه يك هسته وظيفه پردازش لوپ اصلي را بعهده ميگيرد و 5 تاي باقي مانده باقي پردازش ها را بين خود به اشتراك ميگذارند.
![NDPS4_3-567x425.jpg](/proxy.php?image=http%3A%2F%2Fcdn2.dualshockers.com%2Fwp-content%2Fuploads%2F2014%2F03%2FNDPS4_3-567x425.jpg&hash=0e456c2dc2cec285eefea94d228415e9)
از سوي ديگر GPU مسئول رندر و پردازش GPGPU است. كه اصولا شامل پردازش فيزيك لباس و ..... است كه قبلا اشاره شد.
مفهوم بسيار مهمي ديگري كه مطرح است بهينه سازي است. قانوني وجود دارد كه 80 به 20 نام دارد طبق اين قانون نرم افزار 80 درصد وقت خود را صرف پردازش 20 در صد اطلاعات شما ميكند.
زماني كه نرم افزار را بهينه ميكنيد وقت خودتان را صرف آن 80 درصد نميكنيد چرا كه اطلاف وقت است. اما ناوتي داگ تمركز بسيار ويژه اي بر روي آن 20 درصد دارد. اين مسئله باعث ميشود كه گرافيك بازي ها بتدريج پيشرفت كنند.
شناخت سخت افزار هم بسيار اهميت دارد. بعضي از بهينه سازي ها مختص سخت افزار خاصي است. كه اين خود شناخت عميق شما را از سخت افزار طلب ميكند.
![NDPS4_4-565x425.jpg](/proxy.php?image=http%3A%2F%2Fcdn2.dualshockers.com%2Fwp-content%2Fuploads%2F2014%2F03%2FNDPS4_4-565x425.jpg&hash=f0b08b9f4f06e8cd9d2d9c72d06a27fe)
كشينگ حافظه بخش بزرگي از بهينه سازي است. سخت افزار هاي امروزي زمان زيادي را صرف دستيابي اطلاعات از حافظه ميكنند كه مسلما حجم زيادي دارد. در درجه دوم حاظه كش بسيار كوچكتري وجود دارد كه بنام L2 شناخته ميشود. و سپس L1 كه بسيار سريعتر است. و درنهايت حافظه Reg بر روي چيپ اصلي كه بسيار بسيار كوچك است.
![NDPS4_5-565x425.jpg](/proxy.php?image=http%3A%2F%2Fcdn.dualshockers.com%2Fwp-content%2Fuploads%2F2014%2F03%2FNDPS4_5-565x425.jpg&hash=db11c9dbbd2b6a145941c354bb57e2e9)
كوچك نگاه داشتن اطلاعاتي كه نياز به سرعت بالا دارند از اين حيث بسيار پر اهميت است. چرا كه بايد بر روي كش جا شوند. دستيابي به حافظه كش بسيار سريع است. كوچك نمودن اين حافظه بسيار سودمند تر بنظر مي رسد.
PS4 همانطور كه اشاره شد داراي هشت هسته است كه در دو خوشه طبقه بندي شده اند. كش L2 به دو بخش تقسيم شده كه هر كدام به يكي از اين خوشه ها اختصاص مي يابد. ارتباط بين خوشه ها و كش هايشان 26 چرخه به طول مي انجامد.
ارتباط بين يك خوشه و كش خوشه ديگر بسيار كندتر و حدود 190 چرخه مدت نياز خواهد داشت.
![NDPS4_7-568x425.jpg](/proxy.php?image=http%3A%2F%2Fcdn.dualshockers.com%2Fwp-content%2Fuploads%2F2014%2F03%2FNDPS4_7-568x425.jpg&hash=46b018d24bb7a8be4e26b0761043b87a)
![NDPS4_8-571x425.jpg](/proxy.php?image=http%3A%2F%2Fcdn.dualshockers.com%2Fwp-content%2Fuploads%2F2014%2F03%2FNDPS4_8-571x425.jpg&hash=330ff8ea4ccf93d82f361ceff2b41efa)
اين اطلاعات به استوديو كمك ميكند كه اطلاعات هر خوشه را در كش خود آن خوشه بكار گيرند تا از اطلاف زمان خلوگيري شود.
در پايان نكته بسيار جالب اين است كه اين خصوصيت بسيار بروي PS3 مشكل آفرين بوده است چرا كه PS3 در بكار گيري اطلاعات كش ها براي خوشه خودشان بسيار ضعيف عمل ميكرده است.
اما از آن سو PS4 در حدس زدن ارتباط كش و خوشه بسيار بسيار بسيار خوب عمل ميكند. اين مسئله باعث ميشود كه كار زيادي از دوش CPU برداشته شود و نتيجه كار بسيار بهبود پيدا كند.
شنيدن تمام اينها از زبان گرگوري فقط يك نتيجه دارد و آن هم اينكه ما را براي ديدن اولين بازي ناوتي داگ بر روي PS4 از خود بي خود ميكند. مشكل اينجاست كه تا ديدن نتيجه كار اين استوديو ي ديوانه تكنولوژي من و جيبم بايد كمي صبر كنيم.
منبع
آپدیت:
همانطور که اطلاع دارید ICE Team یکی از زیر مجموعه های ناوتی داگ است که به امر توسعه زیر ساختهای نرم افزاری و تکنولوژی های مرتبط با آن برای استفاده FP های سونی در ساخت بازی برای پلتفورمهای پلی استیشن است. اما دقیقا الان IT در حال انجام چه کاری است.
در حال حاضر ICE Team در حال توسعه ی نرم افزاری است که پرفورمنس GPU ی PS4 را اندازه گیری میکند این امر برای دیباگینگ نرم افزاری مورد نیاز است.
![Razor.jpg](/proxy.php?image=http%3A%2F%2Fgamingbolt.com%2Fwp-content%2Fuploads%2F2014%2F07%2FRazor.jpg&hash=8eca21abeabe76132285c53ec088ac97)
در حال حاضر این تیم در حال تلاش است تا بتوانند از آخرین قطره های قدرت PS4 بصورت مطلوبی بهره ببرند. با استفاده از نرم افزار Razor Profiler توسعه دهندگان میتوانند در یابند که چه عملی بیشترین بسامد و تکرار را در پروسه پردازش به خود اختصاص میدهد. این نرم افزار آنان را قادر میسازد که بصورت بصری ببینند که در هر لحظه چه عملی بر روی CPU و GPU پردازش میشود. به اعمالی که بیشترین بسامد را داشته باشند به اختصار HOT Function گفته میشود. توسعه دهندگان بدین وسیله متوجه میزان زمان مورد نیاز برای هر دستور العمل میشوند. این خود به بهینه سازی نرم افزاری کمک میکند. به یاد داشته باشیم بهینه سازی در حد چند میکروثانیه میتواند تفاوت 30 فریم ویا 60 فریم ایجاد کند.
![dead-stripping.jpg](/proxy.php?image=http%3A%2F%2Fgamingbolt.com%2Fwp-content%2Fuploads%2F2014%2F07%2Fdead-stripping.jpg&hash=958fa0d47c8074a0eaba558bcfa29219)
بعلاوه این نرم افزار میتواند برای حذف داده های مرده نیز بکار آید. بعد از اینکه دستورالعملها اجرا شدند. معمولا بخشی از حافظه و قدرت پردازشی را اشغال میکنند. با استفاده از این نرم افزار میتوان این داده های به اصطلاح مرده را حذف کرد.
منبع
آخرین ویرایش: