The State of the GUI

Adam Wilson flyboynw at gmail.com
Thu Oct 25 09:26:38 UTC 2018


On 10/25/18 1:53 AM, Willow wrote:
> On Thursday, 25 October 2018 at 00:24:42 UTC, Adam Wilson wrote:
>> On 10/24/18 12:39 PM, drug wrote:
>>
>> You are both technically correct, but the word "efficiency" can be 
>> used in two different ways here. Immediate mode can be incredibly 
>> efficient from a rendering performance standpoint. But in general they 
>> are much less efficient than retained mode from a developer 
>> standpoint. So the question is, what kind of efficiency is more 
>> important?
> 
> Having never used retained mode Im struggling to understand how it's 
> going to result in a vast saving in terms of code you have to write. I 
> mean somewhere someone has to write the code that draws the widget, i 
> dont see how immediate mode makes that any different.
> 
> Also I kind of hate the fact that alot of modern apps have such laggy 
> GUIs, I mean it's seriously fucking pathetic that with all the silicon 
> we have simple apps like spotify are laggy when drawing. Even VS Code 
> feels laggy to me.
> 

Completely agree, and both of those are Electron which is just Chrome 
with some fancy packaging. Electron is a memory hog.

We can do better than that. Much better.

> 
>> My vote is for developer efficiency.
> 
> My vote would be choice, if you force one mode or the other then you 
> will lose people, and you need people, developers and users.
> 

And that is exactly what non-native toolkits provide, you can either use 
the packaged themes that match the DE or you roll your own. Custom 
styling a native widget toolkit is possible but significantly more 
involved.

> 
>> Most UX's need a minor fraction of what even an Intel GMA 3000 can 
>> pump out, much less that of what a Vega64 or GeForce RTX 2080 Ti. I 
>> only have a Radeon Pro WX4100 because of the fact that it has four 
>> DP1.2 outputs in a half-height form factor. I certainly never get with 
>> a parsec of actually stressing the capacity of rendering silicon.
> 
> Will all the rendering be on the GPU? My experience is that in a lot of 
> cases 2D rendering is done on the CPU. Font rendering is generally still 
> done on the CPU afaik.
> 

That depends on the API, on Windows you have DirectWrite which renders 
fonts on the GPU.

> 
>> But if I can do something with 10 lines of code over 1000 lines of 
>> code I will take that option ever single time. My time is WAY more 
>> expensive than some GPU time.
> 
> Ok, so it's retained mode and GPU rendering. A bunch of people just left 
> the room.
> 
> And you seriously think it's 10 lines vs 1000 lines? I'm asking not 
> criticising since I dont really know how retained mode works tbh.
> 

I don't think. I know. I get paid to do it. :)

-- 
Adam Wilson
IRC: EllipticBit
import quiet.dlang.dev;


More information about the Digitalmars-d mailing list