Optimization: cache scaled flow width and spacing
This commit is contained in:
parent
ec0d3987db
commit
bbe0a45b58
9 changed files with 46 additions and 35 deletions
|
@ -63,7 +63,7 @@ sub fill_surface {
|
|||
my $path = $loop->split_at_index($index);
|
||||
|
||||
# clip the path to avoid the extruder to get exactly on the first point of the loop
|
||||
$path->clip_end(scale($self->layer ? $self->layer->flow->width : $Slic3r::flow->width) * 0.15);
|
||||
$path->clip_end($self->layer ? $self->layer->flow->scaled_width : $Slic3r::flow->scaled_width * 0.15);
|
||||
|
||||
push @paths, $path->points if @{$path->points};
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ sub fill_surface {
|
|||
# infill math
|
||||
my $min_spacing = scale $params{flow_spacing};
|
||||
my $distance = $min_spacing / $params{density};
|
||||
my $overlap_distance = scale($self->layer ? $self->layer->flow->width : $Slic3r::flow->width) * 0.4;
|
||||
my $overlap_distance = $self->layer ? $self->layer->flow->scaled_width : $Slic3r::flow->scaled_width * 0.4;
|
||||
|
||||
my $cache_id = sprintf "d%s_s%s_a%s",
|
||||
$params{density}, $params{flow_spacing}, $rotate_vector->[0][0];
|
||||
|
|
|
@ -31,7 +31,7 @@ sub fill_surface {
|
|||
$flow_spacing = unscale $distance_between_lines;
|
||||
}
|
||||
|
||||
my $overlap_distance = scale($self->layer ? $self->layer->flow->width : $Slic3r::flow->width) * 0.4;
|
||||
my $overlap_distance = $self->layer ? $self->layer->flow->scaled_width : $Slic3r::flow->scaled_width * 0.4;
|
||||
|
||||
my $x = $bounding_box->[X1];
|
||||
my $is_line_pattern = $self->isa('Slic3r::Fill::Line');
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue