Реклама

[QML] Синхронизация больших спрайтов

huge sprites, qml, shaderEffect, sprite, sprites sync

@kondratiy13 декабря 2016 г. 22:35#
Приветствую.
В моё приложение необходимо добавить несколько спрайтов. Все они имеют немалый размер, один кадр – 700х1260, кадров – от 6 до 25.
Использую ShaderEffectSource, в котором спрайты – SpriteSequence { Sprite {…} } для свойства sourceItem, далее подставляю этот ShaderEffectSource в качестве свойства source в ShaderEffect. Подставить все мои спрайты в sourceItem не удалось – превышен размер текстуры.
Решил для каждого спрайта сделать свой ShaderEffectSource, сделано. Под Linux работает, под win – ошибка qpainter’a.
Разбил каждый кадр спрайтов пополам по вертикали, увеличил вдвое количество ShaderEffectSource (соответственно получились сурсы для левой и правой частей) и добавил ещё один ShaderEffect, который прианкорил к первому. Всё замечально, работает, но имеется небольшой рассинхрон между спрайтами! При этом, если задать спрайтам frameSync: true – рассинхрона нет, но анимация отрисовывается слишком быстро, мне же необходимо выдержать фреймрэйт в 24 кадра/с.
Идеи?
@EVILEG14 декабря 2016 г. 13:14#

Добрый день.
Вы не могли бы привести пример вашего кода. Так будет проще изучить проблему.

Ответы

Только авторизованные пользователи могут отвечать на форуме.
Пожалуйста, Авторизуйтесь или Зарегистрируйтесь

Реклама