Я работаю над графическим приложением, которое я написал с помощью Core Graphics. У меня есть буфер, который накапливает данные, и я отображаю их на экране. Это очень медленно, и я хочу по возможности не использовать openGL. По словам профилировщика, меня убивает рисование моих графических данных (которые состоят из нескольких точек, которые преобразуются в путь, за которым следуют вызовы AddPath, DrawPath).
Это то, что я хочу сделать, мой вопрос в том, как лучше всего это реализовать, используя слои/представления/и т.д..
У меня есть сетка и некоторый текст. Я хочу, чтобы это отображалось в CALayer (или в каком-либо другом слое/виде?) и обновлялось только при необходимости (график масштабируется).
Необходимо обновить только часть данных. Я хочу взять предыдущий экранный буфер, стереть данные прямоугольника (или закрыть его белым прямоугольником), а затем нарисовать только ту часть графиков, которая изменилась.
Затем я хочу объединить фоновый слой с графиками переднего плана, чтобы создать составное изображение. Для этого требуется, чтобы слой графика имел прозрачный фон, чтобы не загораживать сетку.
Я рассматривал использование CAlayer в качестве подслоя, но, похоже, он не обеспечивает простого способа рисования линии. CAShapeLayer кажется немного лучше, но похоже, что он может рисовать только одну линию. Я хочу, чтобы сетка состояла из нескольких строк.
Каков наилучший подход и комбинация объектов, чтобы позволить мне это сделать?
Спасибо, Реза