حل شده تغییر رزولوشن مانیتور در بازی
#1
سلام
زمانی که بازی از تعداد زیادی عکس و افکت تشکیل میشه و به اصطلاح از گرافیک بالایی برخورداره، معمولا با افت فریم هم همراه هست (در کنستراکت 2) مخصوصا اگر رزولوشن نمایشگر بالا باشه حالا تنها راهی که میتونه جلوی افت فریم رو بگیره پایین آوردن رزولوشن نمایشگر.

حالا مشکل همینجاست که چطور میشه رزولوشن رو هنگام اجرای بازی (به صورت خودکار) تغییر داد؟
من تونستم با چندتا برنامه جانبی اینکارو بکنم ولی میخوام خود بازی اینکارو انجام بده مثل بقیه بازی ها که تو تنظیمات گرافیک بازی میشه رزولوشن رو تغییر داد
  پاسخ


 سپاس شده توسط:
#2
سلام. چون شاید بخواین بازی تحت وب، یا اندرویدی یا… بسازید به شما اجازه نمی‌ده مستقیماً رزولوشن سیستم کاربر رو دست بزنید، ولی رزولوشن خود بازی رو می‌تونید با تغییر Scale لیوت تغییر بدید.
معجزات طبیعت هایی هستند که با آن‌ها مأنوس نشده‌ایم
و طبیعت معجزه‌ایست که با آن انس گرفته‌ایم
علی صفایی حائری
  پاسخ


 سپاس شده توسط:
#3
سلام،وقتی رویداد مورد نظرتو تعریف کردی مثلا کلیک چپ با موس بر روی یک دکمه، از قسمت اضافه کردن اکشن ها، system رو انتخاب میکنی یک سربرگ اون بالا هست به اسم display ،داخلش سه تا گزینه هست.که مربوط میشه به رزولوشن و کیفیت نمایش بازی، اونا را باید تنظیم کنی
--------------\\\\\\\\\\*******\\\\\\\\---------------------------\\\\\\\\\\**********\\\\\\\---------
[تصویر:  vngames_mobarez.png]


*«يَرْفَعِ اللَّهُ الَّذِينَ آمَنُوا مِنْكُمْ وَ الَّذِينَ أُوتُوا الْعِلْمَ دَرَجاتٍ//خداوند کسانی را که ایمان آورده اند و کسانی را که دانش به آنان عطا شده است.درجات عظیمی می بخشد.»(قرآن کریم، المجادلة، 11 ‏)*

*پیامبر اکرم (ص) فرمود:«علم آموزي بر هر مرد و زن مسلمان، واجب است.»(مصباح‏ الشريعة، ج 13)
  پاسخ


 سپاس شده توسط:
#4
(1393/12/13، 11:53 عصر)vng نوشته است: سلام،وقتی رویداد مورد نظرتو تعریف کردی مثلا کلیک چپ با موس بر روی یک دکمه، از قسمت اضافه کردن اکشن ها، system رو انتخاب میکنی یک سربرگ اون بالا هست به اسم display ،داخلش سه تا گزینه هست.که مربوط میشه به رزولوشن و کیفیت نمایش بازی، اونا را باید تنظیم کنی

نه استاد اون کی شما میگید فقط تغییر ابعاد بازی نه ابعاد مانیتور اصلا خود برنامه هیچ کدی توی این زمینه نداره
  پاسخ


 سپاس شده توسط:
#5
(1393/12/13، 09:05 عصر)Mojtaba نوشته است: سلام. چون شاید بخواین بازی تحت وب، یا اندرویدی یا… بسازید به شما اجازه نمی‌ده مستقیماً رزولوشن سیستم کاربر رو دست بزنید، ولی رزولوشن خود بازی رو می‌تونید با تغییر Scale لیوت تغییر بدید.

خروجی بازی من تحت ویندوز هست نه تحت وب و ...
حالا راهی میدونید برای تغییر ابعاد مانیتور حتی اگه شده با یه کد بیرون از برنامه؟
  پاسخ


 سپاس شده توسط:
#6
طبق گفته‌ی اشلی در اینجا اکثر مانیتورهای امروزی فقط یک رزولوشن درست دارند (چون آن‌ها دارای شبکه‌ای فیزیکی از پیکسل‌ها با اندازه‌ی ثابت هستند)، و وقتی رزولوشن‌شون رو کم می‌کنید، به سادگی کش میاره (Stretch) تا به رزولوشن اصلی برسه، یعنی خود مانیتورها پشتیبانی تقلّبی (fake) از رزولوشن‌های مختلف رو دارند. یعنی وقتی گزینه‌ی Fullscreen scaling رو در تنظیمات پروژه روی Low quality قرار می‌دین کانستراکت دقیقاً همون کاری رو می‌کنه که مانیتورها می‌کنند.
معجزات طبیعت هایی هستند که با آن‌ها مأنوس نشده‌ایم
و طبیعت معجزه‌ایست که با آن انس گرفته‌ایم
علی صفایی حائری
  پاسخ


 سپاس شده توسط:
#7
(1393/12/14، 11:59 صبح)Mojtaba نوشته است: طبق گفته‌ی اشلی در اینجا اکثر مانیتورهای امروزی فقط یک رزولوشن درست دارند (چون آن‌ها دارای شبکه‌ای فیزیکی از پیکسل‌ها با اندازه‌ی ثابت هستند)، و وقتی رزولوشن‌شون رو کم می‌کنید، به سادگی کش میاره (Stretch) تا به رزولوشن اصلی برسه، یعنی خود مانیتورها پشتیبانی تقلّبی (fake) از رزولوشن‌های مختلف رو دارند. یعنی وقتی گزینه‌ی Fullscreen scaling رو در تنظیمات پروژه روی Low quality قرار می‌دین کانستراکت دقیقاً همون کاری رو می‌کنه که مانیتورها می‌کنند.

احتمالا درست متوجه حرف بنده نشدید با این کار شما میگید کیفیت بازی بطور خیلی افتضاحی میاد پایین و پیکسل ها رو کم میکنه و اصلا قابل قبول نیست
من میخوام هنگام اجرای بازی تو هر مانیتوری نهایتا رزولوشن مانیتور 1366*768 باشه چون با این ابعاد بازی افت فریم نداره ولی در ابعاد بالا تر مثلا 1920*1080 چون بازی فول اسکرین میشه و همه اشیا و ... تغییر سایز میدن و بزرگتر میشن با افت فریم همراه میشه
و چیزی که من میخوام دقیقا کاریه که تو بازیهای دیگه میبیند که قبل یا درخود بازی یه قسمت هست که میتونید رزولوشن بازی رو کم یا زیاد کنید مثل بازهای سه بعدی سنگین که بعد از کم کردن سایز مانیتور بازی روون تر اجرا میشه.
خودم تونستم با یه فایل exe و یه فایل bat که دستور تغییر رزولوشن رو دارن، کنار بازی اینکارو بکنم ولی میخوام ببینم راه دیگه ای نداره که این فایلای اضافی هم نباشه و اینکارو انجام بده
  پاسخ


 سپاس شده توسط:
#8
(1393/12/14، 12:27 عصر)pro.designer_68 نوشته است: خودم تونستم با یه فایل exe و یه فایل bat که دستور تغییر رزولوشن رو دارن، کنار بازی اینکارو بکنم ولی میخوام ببینم راه دیگه ای نداره که این فایلای اضافی هم نباشه و اینکارو انجام بده
 

کار خوبیه. البته نیازی به فایل bat نیست، چون با خود اکشن Run file شیء NW.js می‌تونید کامندلاین هم بنویسید. بعد می‌تونید رزولوشن دلخواه رو از کاربر دریافت کنید و از طریق کامندلاین به اون فایل exe بفرستید (من Qres.exe رو امتحان کردم، خوب بود).

قبل از تغییر رزولوشن هم، رزولوشن فعلی رو داخل Session key یا متغیّر ذخیره کنید، تا موقع بستن بازی بتونید رزولوشن رو به حالت عادی برگردونید.

به نظر من که این راه شما برای این کار واقعاً خوبه.
معجزات طبیعت هایی هستند که با آن‌ها مأنوس نشده‌ایم
و طبیعت معجزه‌ایست که با آن انس گرفته‌ایم
علی صفایی حائری
  پاسخ


 سپاس شده توسط: pro.designer_68
#9
ممنون اون قسمت کامند لاین NW.js رو نمیدونستم یه فایلم کم بشه بازم خوبه  1 
  پاسخ


 سپاس شده توسط:
#10
تو قسمت Run file چطوری باید کد رو نوشت
فقط متنو بنویسم اینجوری:
"qres.exe /x 1024 /y 768"

اینجوری امتحان کردم نشد
  پاسخ


 سپاس شده توسط:


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
Information پرداخت درون برنامه مایکت کوردوا ya mahdi 0 230 1404/1/17، 05:43 عصر
آخرین ارسال: ya mahdi
  نحوه خروجی اندروید کوردوا ya mahdi 0 179 1404/1/11، 04:06 عصر
آخرین ارسال: ya mahdi
Wink حل شده مقادير لازم در environment variable ᔕinaᗪehghani 24 11,596 1403/10/23، 12:10 صبح
آخرین ارسال: Tggi
  تپسل .....فروشگاه Hamidreza 3 1,932 1403/10/22، 11:57 عصر
آخرین ارسال: Tggi
  خروجی اندروید با Intel xdk ya mahdi 0 130 1403/8/25، 02:08 عصر
آخرین ارسال: ya mahdi

پرش به انجمن: