HLFX.Ru Forum Страницы (2): [1] 2 »
Показать все 17 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- Дилетантский вопрос (https://hlfx.ru/forum/showthread.php?threadid=6101)


Отправлено FiEctro 21-08-2024 в 11:42:

Дилетантский вопрос

Уже наверное где то год ковыряю на более менее понятном для меня уровне кресты, и собственно вштал вопрос, а стоит ли оно того? Сейчас объясню, я иногда делаю не особо сложные проекты, в стиле совсем простеньких клиент серверных приложений, ну и по графике что то на уровне 2д или модельвьювера на крестах. Эти приложения совсем не тяжелые и не требуют какой то супер оптимизации. Но отлаживать их вечно сущая боль.

Естественно у меня закралась интересная мысль, а не будет ли удобнее перейти для проектов такого рода на шарпы? Там и требования к моему говнокоду не такие высокие, и в Юнити с шарпами я более менее раздуплился, да и кроссплатформенность лучше т.к. дотнеты есть на всех популярных платформах. Собственно кто что думает на этот счёт?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 21-08-2024 в 12:29:

Если что-то мелкое, то можно и Шарп, если большое-серьезное, то кресты.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено nemyax 21-08-2024 в 13:07:

Цитата:
FiEctro писал:
отлаживать их вечно сущая боль

Почему боль?


Отправлено FiEctro 21-08-2024 в 13:50:

Цитата:
Дядя Миша писал:
Если что-то мелкое, то можно и Шарп, если большое-серьезное, то кресты.


Ну вот, а где эта грань?

Цитата:
nemyax писал:
Почему боль?


Утечки памяти постоянные, у шарпов в этом плане лучше.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено nemyax 21-08-2024 в 14:00:

Цитата:
FiEctro писал:
Утечки памяти постоянные, у шарпов в этом плане лучше.

На шарпах никогда ничего не делал, так что мнения тут не имею. А насчёт возни с памятью в плюсах, организуй код так, чтобы по минимуму выделять-освобождать память явным образом. Очень многое можно сделать объектами, созданными на стеке. По сути дела оно не будет отличаться от мусорщика шарпов.


Отправлено Дядя Миша 21-08-2024 в 14:35:

Цитата:
FiEctro писал:
Ну вот, а где эта грань?

Почувствуешь, что Шарп тебе уже начал мешать или проект получается слишком медленным.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 22-08-2024 в 00:14:

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

А если серьёзно, то да, сейчас все хвалят раст. Мол, производительность и гибкость крестов, но при этом язык безопасный by design. Кресты никогда не станут безопасным языком. Ещё слышал много хорошего про Zig - говорят, что однажды познакомившись с ним, уже не сможешь не зиговать.

__________________

xaerox on Vivino


Отправлено nemyax 22-08-2024 в 06:44:

Цитата:
XaeroX писал:
сейчас все хвалят раст

А какой процент хвалящих на нём действительно пишет программы? =)


Отправлено Дядя Миша 22-08-2024 в 10:18:

Цитата:
XaeroX писал:
Оставьте поддержку софта на крестах нам, старикам...

Мы танцуем на столах в субботнюю ночь!

Цитата:
nemyax писал:
А какой процент хвалящих на нём действительно пишет программы? =)

https://gamedev.ru/projects/forum/?id=247879
Тему читать осторожно, можно поперхнуться чяем и упасть под стол до трёх раз.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 22-08-2024 в 11:11:

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

А если серьёзно, то да, сейчас все хвалят раст. Мол, производительность и гибкость крестов, но при этом язык безопасный by design. Кресты никогда не станут безопасным языком. Ещё слышал много хорошего про Zig - говорят, что однажды познакомившись с ним, уже не сможешь не зиговать.


Я не понимаю, это сарказм или ты серьёзно?

Цитата:
Дядя Миша писал:
Тему читать осторожно, можно поперхнуться чяем и упасть под стол до трёх раз.


Судя по фичам движок там неплохой для каких то мелких шутанов, осталось только посмотреть на инструментарий

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено FiEctro 24-09-2025 в 06:26:

Такой вопрос, экспериментирую с 3д звуком и стерео. Вот у нас есть точка в одномерном пространстве, эта точка - источник звука, перемещаясь по прямой левее неё или правее мы регулируем громкость левого и правого канала. Но теперь главный вопрос, а по каким правилам нам регулировать их громкость? Ну допустим звук у нас распространяется квадратично, это понятно, но вот если определять например находимся мы рядом с иточником звука и у нас громкость: L: 1 R: 99 перемещаемся на пару юнитов на другую сторону и у нас уже громкость перескакивает на L: 99 R: 1 (где L это громкость левого канала, R громкость правого) что выглядит крайне не естественно. Т.е. логично когда мы стоим рядом с иточником звука, у нас оба уха что то да слышат. Вот по каким правилам нужно регулировать их громкость, чтобы это выглядело естественно?

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено ZGreen 24-09-2025 в 08:15:

Цитата:
FiEctro писал:
с иточником звука и у нас громкость: L: 1 R: 99

Если источник звука зудяший комар над ухом, то все правильно.

А если обычный какой-то объект из жизни, то должно быть у тебя рядом с ним L98-99 R99-98 в зависимости от поворота «головы»


Отправлено FiEctro 24-09-2025 в 10:33:

Цитата:
ZGreen писал:
А если обычный какой-то объект из жизни, то должно быть у тебя рядом с ним L98-99 R99-98 в зависимости от поворота «головы»


Ну вот по какой формуле это считать? Или может хотя бы диаграмма распределения есть? Для моно всё просто, считаем дистанцию и регулируем громкость, а вот со стерео не понимаю. Хоть самому бери стереомикрофон и замеряй.

Добавлено 24-09-2025 в 13:33:



Вот придумал что то вроде такого. Т.е. в центре у нас оба канала имеют одинаковую громкость, а вот в зависимости от положения регулируем множителем параметр затухания для каждого канала. Но вот насколько сильнее он должен затухать? Не уверен что это физически корректно, но думаю будет работать лучше.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 25-09-2025 в 05:24:

C++ Source Code:
1
vec3	source_vec = (source_pos - m_listener.origin);
2
float	dist = normalize( source_vec, source_vec );
3
float	flDotFactor = dot( m_listener.right, source_vec );
4
 
5
m_leftvol = ((1.0f + dotFactor) * volume);
6
m_rightvol = ((1.0f - dotFactor) * volume);

Где source_pos - положение источника в пространстве, m_listener.origin - положение слушателя в пространстве. m_listener.right - вектор вправо от матрицы ориентации слушателя. Её можно получить через AngleVectors из углов Эйлера например. Для множества каналов чуть сложнее, там лучше уже матричное преобразование.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено SNMetamorph 27-09-2025 в 19:35:

Цитата:
XaeroX писал:
А если серьёзно, то да, сейчас все хвалят раст. Мол, производительность и гибкость крестов, но при этом язык безопасный by design. Кресты никогда не станут безопасным языком. Ещё слышал много хорошего про Zig - говорят, что однажды познакомившись с ним, уже не сможешь не зиговать.


Rust от C++ отличается довольно таки разительно, как минимум там нету классического ООП с классами, исключений, динамического полиморфизма, RTTI. Fun fact: там нет возможности реализовать самый банальнейший linked list без кучи костылей. Время компиляции по сравнению с крестами тоже просто жуть. В общем-то про язык пока больше информационного шума и скандалов, нежели реального толка. Как мне кажется, Rust бы просто идеально вписался в разработку драйверов, где цена рантайм ошибки высока и оправдывает время, потраченное на борьбу с борроу чекером и ожидание компиляции. Про Zig пока совсем ничего непонятно, очень сырой.

Цитата:
FiEctro писал:
Но отлаживать их вечно сущая боль.

И это притом, что у нативных языков буквально самые лучшие отладчики и профилировщики. Тут явно дело не в языке и не в инструментах. Я как-то поинтересовался, а что это за у Go такой race detector, копнул глубже - там LLVM и плюсы, лол.

Цитата:
FiEctro писал:
Утечки памяти постоянные, у шарпов в этом плане лучше.

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

Цитата:
XaeroX писал:
Кресты никогда не станут безопасным языком.

Не уверен, работа в этом направлении таки ведётся, еще из подобного есть какой-то TrapC.
https://safecpp.org/draft.html

__________________
SNMetamorph's Personal Blog
Xash3D Modding Discord


Временная зона GMT. Текущее время 07:31. Страницы (2): [1] 2 »
Показать все 17 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024