Dont draw blocks what are outside the the view. - massive speedup with complex sequence's

This commit is contained in:
Campbell Barton 2006-01-25 05:14:03 +00:00
parent dc103bceab
commit d35be5c578

@ -823,7 +823,15 @@ void drawseqspace(ScrArea *sa, void *spacedata)
if(ed) { if(ed) {
seq= ed->seqbasep->first; seq= ed->seqbasep->first;
while(seq) { while(seq) {
if(seq->flag & SELECT); else drawseq(seq); if (seq->flag & SELECT ||
seq->start > G.v2d->cur.xmax ||
seq->start+seq->len < G.v2d->cur.xmin ||
seq->machine+1.0 < G.v2d->cur.ymin || seq->machine > G.v2d->cur.ymax)
{
/* do nothing */
} else {
drawseq(seq);
}
seq= seq->next; seq= seq->next;
} }
} }
@ -831,7 +839,16 @@ void drawseqspace(ScrArea *sa, void *spacedata)
if(ed) { if(ed) {
seq= ed->seqbasep->first; seq= ed->seqbasep->first;
while(seq) { while(seq) {
if(seq->flag & SELECT) drawseq(seq); if (!(seq->flag & SELECT) ||
seq->start > G.v2d->cur.xmax ||
seq->start+seq->len < G.v2d->cur.xmin ||
seq->machine+1.0 < G.v2d->cur.ymin ||
seq->machine > G.v2d->cur.ymax)
{
/* do nothing */
} else {
drawseq(seq);
}
seq= seq->next; seq= seq->next;
} }
} }