_qwe8013 Хоть бы написал, что bmp сохраняется в C:\temp. У меня в системе например нет этой папки, пришлось создать. А вообще для сохранения в...
Эта тема?
Всё так и сделано. Посмотри код из #47.
Это уже ближе к гидродинамике http://rtfss.sourceforge.net/
valterg Была попытка с фиксированой точкой.
http://www.gamedev.ru/code/articles/PositionBasedPhysics
Самый простой подход http://forum.boolean.name/attachment.php?attachmentid=3138&d=1185115134
Заинлайнил код из постов #13 и #33. Выдаёт 8 и 9 тактов соответственно. Похоже, что проц сам умеет грамотно расставлять инструкции в процессе...
Black_mirror Странно. Если заинлайнить функцию есть улучшение в два такта (9 против 11). А так абсолютно одинаково (11).
Работает вроде-бы правильно, но реализация IMHO не удачная. const table2: array[0..7] of word=(9 xor $8000,...
Black_mirror Фуф. совсем запутался. table: array[0..7] of word=(9 xor $8000,trunc(0.9*65536) xor $8000,99 xor $8000,trunc(0.99*65536) xor...
Maratyszcza Всё это только замедляет работу. Сейчас заново потестил код из поста #25 - теперь он медленнее. Быстрее всего работает #13. Может...
Black_mirror Опять проблема. PCMPGTx сравнивают числа со знаком. Совсем упустил из виду.
Black_mirror Не получится:( Взял число 4500000 и получил нулевую дробную часть.
Black_mirror Я тебя понял. Но не уверен с этими округлениями. Как ты можешь быть уверен, что округлять надо всегда вниз (или вверх)?
Медленнее стало. А как ты по тактам расписываешь? Да и ещё не понял как несколько cmp могут исполняться на 5 такте а зависимые от них sbb на 6.
Да слышал там adc не очень...
Почему почти?
table: array[0..7] of dword=(999999999,99999999,9999999,999999,99999,9999,999,99);
Вот ещё вариант. Можно как-нибудь оптимизировать? function numlen4(x: dword): dword;register;assembler; asm movd xmm0,eax shufps xmm0,xmm0,0...
Имена участников (разделяйте запятой).