Christoph Thiede uploaded a new version of Graphics to project The Inbox: http://source.squeak.org/inbox/Graphics-ct.550.mcz
==================== Summary ====================
Name: Graphics-ct.550 Author: ct Time: 2 January 2024, 10:01:10.078985 pm UUID: 07e886e9-269a-ed43-b18b-673d84020d97 Ancestors: Graphics-mt.549
Speeds up Form>>#magnifyBy: for scale = 1. #copy is faster by >75% using primitiveWarpBits and faster by >250% using the fallback code. In absolute numbers, this saves me 18ms for "magnifying" a screenshot of my world in full HD.
=============== Diff against Graphics-mt.549 ===============
Item was changed: ----- Method: Form>>magnifyBy: (in category 'scaling, rotation') ----- magnifyBy: scale "Answer a Form created as a scaling of the receiver. Scale may be a Float or even a Point, and may be greater or less than 1.0." | effectiveScale | effectiveScale := scale isPoint ifTrue: [scale r] ifFalse: [scale]. + effectiveScale = 1 ifTrue: [^ self copy]. ^ self magnify: self boundingBox by: scale smoothing: (effectiveScale < 1 ifTrue: [2] ifFalse: [1])!
+1
Am 02.01.2024 22:01:40 schrieb commits@source.squeak.org commits@source.squeak.org:
Christoph Thiede uploaded a new version of Graphics to project The Inbox: http://source.squeak.org/inbox/Graphics-ct.550.mcz
==================== Summary ====================
Name: Graphics-ct.550 Author: ct Time: 2 January 2024, 10:01:10.078985 pm UUID: 07e886e9-269a-ed43-b18b-673d84020d97 Ancestors: Graphics-mt.549
Speeds up Form>>#magnifyBy: for scale = 1. #copy is faster by >75% using primitiveWarpBits and faster by >250% using the fallback code. In absolute numbers, this saves me 18ms for "magnifying" a screenshot of my world in full HD.
=============== Diff against Graphics-mt.549 ===============
Item was changed: ----- Method: Form>>magnifyBy: (in category 'scaling, rotation') ----- magnifyBy: scale "Answer a Form created as a scaling of the receiver. Scale may be a Float or even a Point, and may be greater or less than 1.0." | effectiveScale | effectiveScale := scale isPoint ifTrue: [scale r] ifFalse: [scale]. + effectiveScale = 1 ifTrue: [^ self copy]. ^ self magnify: self boundingBox by: scale smoothing: (effectiveScale < 1 ifTrue: [2] ifFalse: [1])!
squeak-dev@lists.squeakfoundation.org