Театр одного примата (stokesequation) wrote,
Театр одного примата
stokesequation

Category:

На лету

Одна из штук, к которой мне было сложно привыкнуть в графике и в программировании, это способность чертовски быстро вычислять кучу штук на лету.

Одинаковых штук. Абсолютно. Которые можно было бы вычислить заранее один раз и потом прочитать, а не считать по 60 раз в секунду на миллионе тредов.

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

Сейчас работаю с упаковкой вершин, чтобы они занимали в полтора раза меньше места в памяти. Не 6 байт, а всего лишь 4.

Для этого в одно 32-битное беззнаковое целое число заносятся аж три числа дробных. Первые 11 бит отводятся под одну координату, еще 11 под вторую, ну а третья довольствуется жалкими 10 битами и точностью похуже.

Сначала запаковать, потом каждый кадр, в каждой чертовой вершине (а на экране их сотни тысяч) проводить операцию распаковки, которая состоит из жутко выглядещей последовательности умножений и сложений...

И это работает быстрее. Реально быстрее, чем раньше.

С ума сойти.

Tags: программирование, работа
Subscribe
promo stokesequation february 3, 16:01 9
Buy for 10 tokens
Перед вами, наверное, вершина могущества человека в вопросах организации материи. Огромная ракета, которая несёт в себе несколько кусочков Солнца, и готова щедро поделиться теплом и светом в любую минуту. Только скажи. Это потрясающе неестественный объект. В нём неестественны абсолютно все…
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 5 comments