Программа-просмотрщик объектов: требуется помощь программистов!

Автор Zontik, 21 июля 2017 10:16:53

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Chuzhoi

Zontik же сказал, что использует bsp.exe с ключом -N. Естественно, в этом случае возникают проблемы с прозрачностью.

Zontik

Да если бы все было так просто. Ключ я только с неделю как начал использовать. То есть будут еще проблемы? Отлично.
Возьмите иву от Vladimironaq... тьфу ты, невозможно выговорить. В общем, на сайте есть такая модель. Попробуйте поставить ее в комнату и походить вокруг. Уж не знаю, подбирал ли он к ней ключи. Но там вроде как спасает RenderOrder, если угадать правильный параметр.
Дайте глазам отдохнуть! Тёмное место

Force

Последние новости по багфиксам:
- сделана сортировка файлов как в винде
- число знаков после запятой уменьшено до двух, и менее
- открытие файла перетаскиванием на окно программы
- открытие первого файла по умолчанию в каталоге по умолчанию
- доделан поиск текстур по обозначенным приоритетам, проследить за процессом можно будет, заглянув в лог.

Это около 20% из найденных вами багов :). Так что, огромное вам спасибо за помощь и поддержку! :yes:

HellRaiser

 :doh: блин. Забыл написать про сортировку ( а написать хотел, т.к. совсем не понял суть той претензии).

Force
У тебя там как построение списка файлов реализовано? То есть как система находит (типа findFirstFile/findNextFile)? Если да, то нафиг никакие дополнительные сортировки не нужны. Ибо отсортировать в проводнике и в тотале можно как угодно, а всякие смотрелки обычно упорядочивают только по имени.

Призрак Boris'а3000

HellRaiser
А не про числовую ли сортировку, часом, речь? Мастдайный вендовый проводниГ воспринимает рядом стоящие цифры в имени файла исключительно как число, а не набор независимых символов, со всеми вытекающими для сортировки. FAR же, которым я пользуюсь, умеет и так и так, но по умолчанию сортировка посимвольная. Поэтому для меня слова "как в винде" означают числовую сортировку.
Corsair HX1000i / Gigabyte GA-X48-DS4 / Intel Core2-Quad Q9650@4.1GHz / Hynix 8GB DDR2-800@1100MHz /
EVGA 6GB GDDR5 <GeForce GTX 980Ti> K|NGP|N Edition / Creative SB X-Fi Xtreme Gamer Fatal1ty Pro Edition /
2xSSD Intel X25-M 120GB в RAID 0 / Samsung SyncMaster 957MB (CRT 2048х1536) / UPS PCM SKP-2000A /
Windows XP Professional SP3 VL 32-bit + Windows 7 Enterprise SP1 U 64-bit / ForceWare 368.81 / New-Dark 1.26

Force

HellRaiser, сортировка по имени работала, сортируя файлы как строки, то есть 1,10,2,20... С учетом того, что в винде это не так, а список файлов пока не отображается, было решено сделать сортировку как в винде. Мне она нравится, удобно и человекочитаемо: 1,2,10,20... Тем более, уже было готовое решение.

Force


Force

Всем привет. Давно не сообщал о продвижении разработки.

На днях переписал шаблонизатор для подстановки данных в интерфейс, и он стал в 15 раз быстрее, при этом функциональнее, добавлены ветвления. Перестал быть узким местом при загрузке. При этом каждый сможет отредактировать интерфейс как ему вздумается... Понятно, что для просмотрщика это не особенно нужно, но возможность такая есть.  Хотя она и была, просто шаблонизатор был примитивнее и медленнее.

Ещё в процессе тестирования выяснилось, что узким местом является загрузка текстур. Как оказалось, у меня было неверное представление о процессе работы с гпу в нескольких потоках. В результате я отказался от нескольких контекстов OpenGL в разных потоках. Это заметно ускорило первую загрузку, но пришлось для этого переделать загрузку текстур на так называемый стриминг. Пока ощутимой разницы нет, но в тестах иногда действительно оно быстрее 😊. А вообще, еще предстоит переделать работу в потоков с подготовкой данных для передачи в OpenGL, тогда подгрузка новых данных должна стать совсем легковесной.

Так что работа кипит. Правда пока для конечного пользователя это не будет сильно заметно, увы. Хотя, на слабых машинах должно порядочно ускориться.

nemyax

Цитата: Force от 08 мая 2018 18:26:00пришлось для этого переделать загрузку текстур на так называемый стриминг
В чём он заключается?
Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Force


Force

ву-ху :sleep:

Это было феноменально, эпичнейше. Масштабнейший рефакторинг завершился успешно, это было увлекательно, но стоило титанических усилий. Что это дало:
- убрана инициализация OpenGL из параллельных потоков (прирост в скорости при инициализации приложения)
- новые потоки теперь создаются только при необходимости - высокой наргузке (прирост в скорости при инициализации приложения)
- убрана избыточная синхронизация гпу с цпу (уменьшение времени ожидания увеличивает скорость выполнения приложения)
- убрана работа с OpenGL в параллельных потоках, это упростило сам код, избавило от вышеописанных синхронизаций и сделало работу потоков более прозрачной (упрощение кода приводит к ускорению багфиксов и упрощению добавления новых фич)
- вся программа была переведена на поддержку юникода для корректной работы с русскими именами файлов на любых системах (windows, linux). Эпичнейшим был именно этот пункт. И "ву ху" относилось тоже к нему. Да, мощно было...
- добавлена поддержка старого (legacy) железа. Программа успешно работает с OpenGL 2.1 даже на XP SP2 (это отдельный файл, откомпилированный специально для SP2, правда, он не умеет работать с русскими именами, потому что система больше не поддерживается Microsoft. Извиняйте, компромисс достигнут. На SP3 всё работает корректно. ;) ).

Да, получается, всё это было сделано именно ради поддержки старого железа, но получилось, что проект стал лучше, удобнее и проще, поэтому, работа пошла однозначно в плюс. В кучу плюсов! C++ же...

Ну вот, а теперь, можно продолжить пилить "хотелки", чтобы следующий билд вышел бы реально удобнее в использовании. Думаю, теперь дело пойдет быстрее - переделки не такие масштабные.

Zontik

Дайте глазам отдохнуть! Тёмное место

Force


nemyax

Желаю тебе из тысячи рулеток одну — самую русскую!
Желаю тебе из тысячи надежд одну — самую крупскую!

Force

nemyax
Тут такое дело, что слишком многое уже сделано и слишком многое придется менять для перехода на эту либу. Да и результат, я почти уверен, меня не устроит. Ты думаешь я с шаблонами просто так возился что ли? :) Я честно пытался не изобретать велосипед и взять "самый быстрый шаблонизатор на си - CTPP", который по факту оказался медленнее моего в три раза (ну, это и понятно - у меня очень узкие задачи и простейшее использование). При этом эта небольшая либа оказалась жутко кривой при установке и при компиляции, слишком громоздкой при использовании, причем абсолютно без документации, так еще и работала в три раза медленнее моего кода. Это я всё к тому, что своя ноша не тянет и она способна на большее в руках своего создателя. Я знаю слабые места и всё обдумываю варианты их решения. В частности, следующий билд, скорее всего, выйдет с возможностью выбора модели из списка, а сам этот список - дико тормозит при пролистывании. Архитектурная особенность интерфейса + "скелетная анимация" на цпу. Проблему придется решать.

Зато у ГУИ - есть неоспоримое преимущество - вывод ошибок для случаев, когда приложение ну совсем не может стартануть. В случае, когда Зонтик будет запускать свою легаси-версию в русскоязычной папке у меня просто нет никакой возможности сообщить о проблеме: консоли в винде нет, путь к папке программы имеет не поддерживаемые символы, следовательно лог положить некуда. Не факт даже, что получится положить лог в какой-нибудь из каталогов по пути до программы, может не хватить прав. А если получится - кто его там найдет? Да и не красиво это. Единственный выход - гуи-сообщение об ошибке. Вот этого нет, да. В остальных случаях всё можно написать в самой программе уже доступными средствами рисования.