|
|
Home » Developing U++ » U++ Developers corner » Optimizing DrawImage across platforms
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend [message #53663 is a reply to message #53659] |
Sun, 19 April 2020 22:37   |
Tom1
Messages: 1303 Registered: March 2007
|
Ultimate Contributor |
|
|
Hi Mirek,
A 4K maximized window Paint from readily available Image/ImageBuffer Size(3840, 2035) comparison:
- Direct SetSurface: 5800 us
- Original DrawImage (1st>2nd>3rd...etc): 10900 us > 35000 us > 5100 us ...
- #if 0 variant (1st>2nd...etc): 18100 us > 6400 us ...
- Original without SetSurface optimization (1st>2nd...etc): 37000 us > 5000 us ...
This is still on Windows 10, Intel Core i7 with integrated Intel HD 4600.
So, SetSurface is always about 5800 us, which is a good all-around solution. #if 0 variant does not really help here. Original code with or without SetSurface optimization only starts to deliver after quite a few rounds when initialization penalty of 35-37 milliseconds is payed back with small gains like 700-800 us per round compared to direct SetSurface.
Maybe computers with better GPUs deliver better with these optimizations. (I don't know this as I do not have such hardware.) Anyway, with typical business setup this is not the case as high end GPUs only come with gaming rigs.
In the end I will probably stick with SetSurface for predictable performance.
On the Linux/GTK3 front the Ctrl::GetPrimaryScreenArea().GetSize(); (used for cache management) still eats half of the time. I think it should be cached in a per-monitor way.
Best regards,
Tom
|
|
|
 |
|
Optimizing DrawImage across platforms
By: Tom1 on Wed, 15 April 2020 09:52
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Wed, 15 April 2020 14:35
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Wed, 15 April 2020 15:15
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Wed, 15 April 2020 22:21
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Thu, 16 April 2020 21:08
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Thu, 16 April 2020 22:06
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Fri, 17 April 2020 00:41
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Fri, 17 April 2020 13:20
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Fri, 17 April 2020 13:38
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Fri, 17 April 2020 14:36
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Fri, 17 April 2020 17:00
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Sat, 18 April 2020 14:05
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Sat, 18 April 2020 15:06
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Sat, 18 April 2020 16:43
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Sat, 18 April 2020 17:12
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Sat, 18 April 2020 17:27
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Sat, 18 April 2020 18:21
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Sat, 18 April 2020 16:57
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Sat, 18 April 2020 16:48
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Sat, 18 April 2020 17:05
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Sat, 18 April 2020 19:21
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Sun, 19 April 2020 14:28
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Sun, 19 April 2020 22:37
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Mon, 20 April 2020 10:31
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Mon, 20 April 2020 11:13
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Mon, 20 April 2020 12:57
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Mon, 20 April 2020 13:13
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Mon, 20 April 2020 14:11
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Mon, 20 April 2020 15:11
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Mon, 20 April 2020 15:25
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Mon, 20 April 2020 15:34
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Mon, 20 April 2020 17:55
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Mon, 20 April 2020 20:37
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Mon, 20 April 2020 20:59
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Tue, 21 April 2020 16:20
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Tue, 21 April 2020 18:03
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Tue, 21 April 2020 18:28
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Tue, 21 April 2020 19:25
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Didier on Tue, 21 April 2020 22:19
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Wed, 22 April 2020 17:57
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Wed, 22 April 2020 14:08
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Fri, 24 April 2020 17:19
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Fri, 24 April 2020 22:43
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Sat, 25 April 2020 15:58
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Sun, 26 April 2020 11:49
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Tue, 28 April 2020 09:30
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: mirek on Tue, 12 May 2020 15:35
|
 |
|
Re: MILESTONE: gtk3 replaces gtk2 as default linux backend
By: Tom1 on Wed, 13 May 2020 09:44
|
Goto Forum:
Current Time: Sat Jun 07 06:17:33 CEST 2025
Total time taken to generate the page: 0.04796 seconds
|
|
|