122
> Посмотрим, может быть есть другой способ брать разрешение экрана.
Если хочешь сам учитывать настройки dpi при отрисовке текста/контролов и видеть реальное разрешение рабочего стола, то
функция SetProcessDpiAwareness на Windows 8.1+
и
функция SetProcessDPIAware на Vista+
На более ранних версиях ОС такой системы не было.
CD
> SetProcessDpiAwareness на Windows 8.1+
> SetProcessDPIAware на Vista+
Ценная инфа, спасибо. Всё лучше предложенного встраивания манифеста. Но тем не менее, юзая эти штуки совместимость будет потеряна. Сейчас то прога вин-95 совместимая, если watcom'ом скомпилировать. :)
122
> совместимость будет потеряна
GetVersionEx есть начиная с Win2k, потом проверяешь версию ОС и делаешь LoadLibrary + GetProcAddress + вызов или не делаешь.
122
> А эти числа откуда, это какой-то конкретный рендер и запущенный на нем тест?
> Ссылочку бы.
Мой рендеринг так работает, причём на яве, но с этой моделью я его нигде не выкладывал. Сейчас допиливаю уже с новыми знаниями.
Ещё нашёл одну реализацию: http://www.goliathdesigns.com/2012/03/software-renderer/. Но он какой-то медленный, выдаёт всего 5-8 fps на зайце с самыми жёсткими настройками. И это при том, что он даже не на весь экран рендерится. Чувак явно где-то накосячил.
Zefick
> Мой рендеринг так работает, причём на яве
Интересно было бы. Если найдешь время и вставишь в него чайники-кубы из моего теста, буду тебе благодарен.
122
> Если найдешь время и вставишь в него чайники-кубы из моего теста, буду тебе благодарен.
Если будет модель сцены целиком одним файлом, то я попробую. А сидеть вкрячивать эти кубы самому мне что-то не охота. Тем более из той скудной картинки, которая к кому же ещё постоянно куда-то уплывает, понять схему сцены совершенно нереально.
Zefick
> Если будет модель сцены целиком одним файлом
Это мне экспорт писать надо, долго. Там все просто, натыкай десятка полтора чайников и 1300-1400 кубов в произвольных позициях. Ну прикинешь по количеству полигонов, чтобы близко было к тому, что сейчас, и норм. Не обязательно же один-в-один повторять.
122
> Там все просто, натыкай десятка полтора чайников и 1300-1400 кубов в
> произвольных позициях.
У меня загружается одна модель за раз, так проще. В демке, ссылку на которую я скинул есть заяц с примерно 12k треугольников. Вот там точно ничего сложного. Примерно потому что у меня ещё нет импорта obj-моделей, как-то не нужны были.
122
> Всё лучше предложенного встраивания манифеста.
Как по мне, грузить какие-то непонятные функции через LoadLibrary, да еще и разные в зависимости от версии винды, да еще с учетом того, что сама проверка версии винды тоже зависит от версии винды — ничем не лучше манифеста. Это же просто ресурс с типом 24. Он никак не должен помешать win98. Win8/10 его прочитают и применят, остальные проигнорируют. Создаешь a.rc, вписываешь в него что-то типа 1 24 "a.exe.manifest", компилируешь в a.res, скармливаешь линкеру, все.
Проверил дома на win10 это новое модное растягивание. У меня стояло 125%, но старыми методами, так как это делают XP/7 — разрешение твоей проге отдавалось родное. Ну да, превращается твой шрифт в мыло с новым. Вернул масштабирование в старом стиле.
Манифест тоже проверил. Добавил вручную с помощью mt.exe. Работает.
122
> Посмотрим, может быть есть другой способ брать разрешение экрана. Типа GetDeviceCaps() вместо GetSystemMetrics(), или еще как-то.
И что это даст, кроме того, что просто не влезет в экран? Оно же запускается в фулскрине в родном разрешении, а не в углу кусок рисует. Просто растягивается перед выводом.
entryway
> Манифест тоже проверил. Добавил вручную с помощью mt.exe. Работает.
Вот оно, если pacos захочет проверить в честном 2160p, вместо растянутого 1234p.
https://dl.dropboxusercontent.com/u/235592644/files/3dBasil-dpiAware.zip
AMD Phenom2 x6 3.2 Ghz
#0#Экран: 2560 х 1440 Чайники: 53 фпс. Бублики: 27 фпс.
#fin
entryway
> Вот оно, если pacos захочет проверить в честном 2160p, вместо растянутого
> 1234p.
Экран: 3840 х 2160 Чайники: 63 фпс. Бублики: 26 фпс.
Но, теперь отрисовка глючит:

122
> Все еще не могу скачать. Гд не отдает.
Странно, мне отдаёт.
Попробовал залить на Яндекс-диск - пишет, что вирус, Вирус-Тотал даёт 3/55 срабатываний.
Залить на Яндекс-диск с паролем удалось, пароль "gamedev": https://yadi.sk/d/LO341Iv8v8wJT
pacos
> Экран: 3840 х 2160 Чайники: 63 фпс. Бублики: 26 фпс.
> Но, теперь отрисовка глючит:
А, щи. По иксу отрисовка не долезает, судьба не готовила ее к жестоким 3840. :)
Спасибо за тест.
Mikle
> Залить на Яндекс-диск с паролем удалось, пароль "gamedev":
Посмотрел. Трудно что-то сказать, софтвар там или нет. Под виртуалкой без хардварного ускорения не запускается вообще. С ускорением по фпс разницы мало что софтвар галочка, что без.
Синька
> AMD Phenom2 x6 3.2 Ghz
Спасибо за тест на АМД!
53 фпс на 2к, почти играбельно.
entryway
> И что это даст, кроме того, что просто не влезет в экран?
А, да, это я не подумал.
Там в этом деле проблема, что панель задач видна. Я у себя потестил. Выставил увеличение 150% и посмотрел. Ну а так да, лоурез, растянутое виндой. Лол, вот уж не думал, что винда будет мой софтвар растягивать. :)
122
> С ускорением по фпс разницы мало что софтвар галочка, что без.
Я так понимаю текстурирование там так и так аппаратное, галочка влияет на аппаратную обработку вершин.
Тема в архиве.
Тема закрыта.