Архитектура такая:
В мультике FTCG есть два больших суб-мультика:
1. Интерфейс
2. Миди Секвенсер (позже, будет еще и аудио секвенсер)
1. Интерфейс:
Ему на вход подается doRefresh и он перерисовывает один кадр интерфейса, с текущим положениям масштаба и смещения поля. Событие doRefresh вызывается в случае если на интерфейсе что-то изменилось. (если юзер двигает поле, то это непрерывный поток кадров)
[offtop]интерфейс состоит из подмультиков, каждый из которых рисует свой слой обьектов (сетка, нотки, надписи, клипы и т. д.)[/offtop]
2. Миди секвенсер:
Наполняет маленький буфер, который в свою очередь, по таймеру, вызывает midi-события непрерывно(играет).
Оба мультика работают с одним и тем-же крупным массивом свойств. Во время работы они, то пишут, то читают, свойства обьектов.
[offtop]у каждого обьекта есть графические и музыкальные свойства.[/offtop]
выглядит так, только звука не будет:
Интерфейс33.rar
------------ Дoбавленo в 04.23:
Хотя, конкуренты меня озадачили. Они могут выводить количество клипов столько-же сколько и я. Тормоза, примерно, те-же.
Но. На самих клипах, они могут рисовать сотни тысяч обьектов!. Количество тормозов не меняется от того есть на клипах что-то или нет.
Как?! Сначала я подумал, что это PNG-шки, но эти клипы растягиваются, по осям без артефактов вместе с рисунками. Да и изменить размер сотен тысяч PNG-шек не просто. У них как будто и не происходит никакой работы.



Поиск
Друзья
Администрация