Все существующие плитки считываются до того, как будет отрисована данная конкретная плитка.
Возможные варианты решения:
1) Даже не пытаться отрисовывать плитку, если она заведомо лежит за пределами области листа или заданной границы. Это вроде бы самый правильный вариант, но потребует больше изменений.
2) Сначала отрисовать плитку, и если там что-то будет, то после этого прочитать/создать файл и дописать в него изменения. По идее, это делается через операцию CAIRO_OPERATOR_SOURCE над объектами: https://cairographics.org/operators/ .
По мотивам этой проблемы.
Все существующие плитки считываются до того, как будет отрисована данная конкретная плитка.
Возможные варианты решения:
1) Даже не пытаться отрисовывать плитку, если она заведомо лежит за пределами области листа или заданной границы. Это вроде бы самый правильный вариант, но потребует больше изменений.
2) Сначала отрисовать плитку, и если там что-то будет, то после этого прочитать/создать файл и дописать в него изменения. По идее, это делается через операцию CAIRO_OPERATOR_SOURCE над объектами: https://cairographics.org/operators/ .