sam0delk1n пишет:
А обратный порядок байтов для всей х86/64 работает, а в С# как, на лету переворачивает или тоже обратный?
Поидее да, смысл так извращаться?
sam0delk1n пишет:
В Вашем коде их довольно много =).
Ну я уже говорил тут специфика C#. к примеру: int a, b, c. c = a * b; выдаст ошибку при компиляции т.к. при умножении a*b тип будет long, так что приходиться делать с = (int)(a * b); но в этом случае идет каст a и b в long, затем умножение двух long, что само по себе на х86 заметно медленее чем работа с int, а затем обратный каст результата из long в int. Ну или вариант с 1 кастом - c = a * (byte)b; Конечно на С можно было бы еще эффективнее сделать, но тем не менее данный вариант раза в 2 шустрее первого варианта.
sam0delk1n пишет:
Опять же к разговору о простоте использования чужих движков: чтобы их верно применять надо понимать как они работают, а это не всегда проще написания своего.
Полностью согласен, я об этом какраз и говорил. Собственно по этой причине порой и выходят продукты что несмотря на аппаратное ускорение работают медленнее, чем без оного.
sam0delk1n пишет:
Я сторонник того что для каждого уровня и задачи свои языки и иногда лучше скомбинировать несколько чем пытаться применять один в неудобных для него местах.
Ну да идеального языка нет, у всего свои плюсы и минусы. К примеру для всяких низкоуровневых хуков я признаю лишь С с ассемблером.
sam0delk1n пишет:
Ещё кстати что касается функционала и обработки ресурсов, я считаю чем больше это вынесено в тулзы и редакторы, тем лучше.
Теоретически возможно, но на практике это требует куда больше кода, времени и трудозатрат. Так что не всегда является рациональным решением.