Platforms to show: All Mac Windows Linux Cross-Platform

/Images/LargePicture/Multithreaded Scale


Required plugins for this example: MBS Images Plugin, MBS Main Plugin

You find this example project in your Plugins Download as a Xojo project file within the examples folder: /Images/LargePicture/Multithreaded Scale

This example is the version from Sun, 17th Mar 2012.

Project "Multithreaded Scale.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
End Class
Class Window1 Inherits Window
Control Canvas1 Inherits Canvas
ControlInstance Canvas1 Inherits Canvas
End Control
Control Listbox1 Inherits Listbox
ControlInstance Listbox1 Inherits Listbox
End Control
EventHandler Sub Open() // insert MBS Registration // compile // only use compiled apps for benchmarks. dim logo as Picture = LogoMBS(500) dim p1 as new PictureMBS(logo) dim p2 as new PictureMBS(20000, 20000, p1.ImageFormat) dim p4 as new PictureMBS(500, 500, p1.ImageFormat) dim start,ende as integer start = ticks call p2.ScaleMT(8, p1, nil, p1.ScaleMitchell, 20000, 20000) ende = ticks listbox1.AddRow "larger ScaleMT 8: "+str(ende-start) start = ticks call p2.ScaleMT(4, p1, nil, p1.ScaleMitchell, 20000, 20000) ende = ticks listbox1.AddRow "larger ScaleMT 4: "+str(ende-start) start = ticks call p2.ScaleMT(2, p1, nil, p1.ScaleMitchell, 20000, 20000) ende = ticks listbox1.AddRow "larger ScaleMT 2: "+str(ende-start) start = ticks call p2.ScaleMT(1, p1, nil, p1.ScaleMitchell, 20000, 20000) ende = ticks listbox1.AddRow "larger ScaleMT 1: "+str(ende-start) start = ticks call p2.ScaleMT(0, p1, nil, p1.ScaleMitchell, 20000, 20000) ende = ticks listbox1.AddRow "larger ScaleMT 0: "+str(ende-start) start = ticks call p2.Scale(p1, nil, p1.ScaleMitchell, 20000, 20000) ende = ticks listbox1.AddRow "larger Scale: "+str(ende-start) start = ticks call p4.ScaleMT(8, p2, nil, p1.ScaleMitchell, 500, 500) ende = ticks listbox1.AddRow "smaller ScaleMT 8: "+str(ende-start) start = ticks call p4.ScaleMT(4, p2, nil, p1.ScaleMitchell, 500, 500) ende = ticks listbox1.AddRow "smaller ScaleMT 4: "+str(ende-start) start = ticks call p4.ScaleMT(2, p2, nil, p1.ScaleMitchell, 500, 500) ende = ticks listbox1.AddRow "smaller ScaleMT 2: "+str(ende-start) start = ticks call p4.ScaleMT(1, p2, nil, p1.ScaleMitchell, 500, 500) ende = ticks listbox1.AddRow "smaller ScaleMT 1: "+str(ende-start) start = ticks call p4.ScaleMT(0, p2, nil, p1.ScaleMitchell, 500, 500) ende = ticks listbox1.AddRow "smaller ScaleMT 0: "+str(ende-start) start = ticks call p4.Scale(p2, nil, p1.ScaleMitchell, 500, 500) ende = ticks listbox1.AddRow "smaller Scale: "+str(ende-start) canvas1.Backdrop = p4.CopyPicture End EventHandler
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&Ablage"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Bearbeiten"
MenuItem EditUndo = "&Rückgängig"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "&Ausschneiden"
MenuItem EditCopy = "&Kopieren"
MenuItem EditPaste = "&Einfügen"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "&Alles auswählen"
End MenuBar
End Project

The items on this page are in the following plugins: MBS Images Plugin.


The biggest plugin in space...