Page 1 of 1

Basic questions about NoesisGUI

Posted: 19 Jan 2015, 08:05
by ksubox
Hello, I'm looking for fast, light, stable cross platform GUI library for C++. And NoesisGUI looks like that.
But I have several questions, because on site and forum I didn't find answers:
1. Library size - I found one post, where size of iOS lib was 4Mb. Is it only 32bit version or fat binary size?
How about Andorid 32 and 64 libs ?
2. Actually project I'm working on is kind of communication/data visualisation system. I don't expect any profit (at least this year :). So I believe I will need "Inidie" license. Does this license include all platform or only one ? How long could I use this license and get updates? What about bug fixing time?
3. Can I introduce custom effects ? Can I use OpenGL (ES) shaders to create my custom controls and effects ? Documentation about custom control is very limited.
4. Is library thread safe ? Can I update controls from several threads ?
5. I hope library can be integrated in OpenGL 3/4 and OpenGL ES 2/3 environment, right ?
6. Do you have any trial version of library to test on real devices ? Or, at least, demo project to run on iOS and Android devices ? What I need to know CPU/Memory/GPU usage for complex, animated GUI.
7. Last on: Do you provide mingw libraries for Windows or only VS and what version of VS/mingw ?

Thank you.

Re: Basic questions about NoesisGUI

Posted: 19 Jan 2015, 10:32
by jsantos
1. Library size - I found one post, where size of iOS lib was 4Mb. Is it only 32bit version or fat binary size?
How about Andorid 32 and 64 libs ?
We are working right now in two versions, the stable one (v1.1) and beta one (v1.2). NoesisGUI v1.2 has been under development for almost a year. We improved many things and also optimized many aspects, library size is one of the thing we have been working on in v1.2 (and continue working).

In v1.1 windows DLL is 5MB (4.6MB in v1.2). Android is 6MB in v1.1 (we only generate 32 bits right now) and will be better in v1.2 but right now iOS and Android are yet not ready in v1.2.

Being iOS a static library, it is hard to give an exact number because it depends of how much you link. But yes, around 4MB is a good approximation (although the lib is a lot bigger, 200MB, due to debug symbols) for 32 bits. 64 bits is being added only to v1.2.

Although we provide dynamic libraries (being iOS the exception) if you have access to our source code you can package noesisGUI as you wish, for example building as static library.
2. Actually project I'm working on is kind of communication/data visualisation system. I don't expect any profit (at least this year :). So I believe I will need "Inidie" license. Does this license include all platform or only one ?
Yes, indie license includes all platforms.
How long could I use this license and get updates? What about bug fixing time?
You can use the license for all the duration of the project. Right now, you also get updates for free. Although as soon as v1.2 is released this is probably going to change a bit (having to pay a little yearly fee to get updates). And yes, this also include bug fixing. We provide a bugtracker, and normally problems are solved in the next version (we release approximately a new version each 2-4 weeks).

3. Can I introduce custom effects ? Can I use OpenGL (ES) shaders to create my custom controls and effects ? Documentation about custom control is very limited.
Custom shader effects are yet not supported. Although it is in the roadmap. Custom controls are a different thing (in WPF parlance), with custom controls you can create your own controls deriving from existing ones. Custom Controls and User Controls are fully supported.
4. Is library thread safe ? Can I update controls from several threads ?
NoesisGUI is multithreading in the sense that Update and Render stages of the pipeline can be executed in parallel. But you cannot interact with each control of a same XAML in different threads. If controls are from different XAMLs (for example, two panels that independent resources) you can interact with them in parallel, although the render thread must be the same for all of then.
5. I hope library can be integrated in OpenGL 3/4 and OpenGL ES 2/3 environment, right ?
Yes, correct.
6. Do you have any trial version of library to test on real devices ? Or, at least, demo project to run on iOS and Android devices ? What I need to know CPU/Memory/GPU usage for complex, animated GUI.
Yes, contact us in private for this.
7. Last on: Do you provide mingw libraries for Windows or only VS and what version of VS/mingw ?
Right now, only VS binaries are provided. Being a dynamic library we support Visual Studio from 2005 to 2013 (and probably 2015, but yet not tested).

We have a small studio doing the MINGW libraries, you could probably cooperate on this. Although for this you will need a license with source code.

Regards,

Re: Basic questions about NoesisGUI

Posted: 19 Jan 2015, 10:51
by TheSHEEEP
We have a small studio doing the MINGW libraries, you could probably cooperate on this. Although for this you will need a license with source code.
That "small studio" is actually me :)
We are using MinGW in our project, so we also needed the source code license.
What I did was porting NoisisGUI to be MinGW compatible, but that was pre 1.0. Some parts of the toolkit will not be MinGW compatible as they rely on third party libs that in turn are not MinGW compatible.
But the library itself (the .dll/.lib) to be used in a game/application can be ported to MinGW.

I will do the port again for 1.2, probably starting next week with that. Last time I did it, it was a lot of work, as some of the Windows-specific code has to be done totally different with MinGW than with MSVC.
I would estimate that it takes 1 or 2 weeks this time, as I can look up how I solved some problems before :)

Personally, I don't think we could cooperate much here as I doubt that the port can be done by more than one person at a time. You can send me your Skype contact, though, so maybe we can discuss problems while I do the port (be aware, this is really pro level low-level porting C++ horror). But to do so, you too would need the source code license, or I could not share any information.

In any case, I would like if someone else was using my port, but you would - again- really need to buy the source license for that, as prebuilt binaries for MinGW just make no sense (too many incompatible versions and compilers around). I am sure we could agree on something with the Noesis team that you could use my prebuilt version, but there could be no guarantees. Compiling from source is just the MinGW way of life :)

Re: Basic questions about NoesisGUI

Posted: 19 Jan 2015, 11:06
by ksubox
3. Can I introduce custom effects ? Can I use OpenGL (ES) shaders to create my custom controls and effects ? Documentation about custom control is very limited.
Custom shader effects are yet not supported. Although it is in the roadmap. Custom controls are a different thing (in WPF parlance), with custom controls you can create your own controls deriving from existing ones. Custom Controls and User Controls are fully supported.
Could you tell approximate target for custom shaders ? 3 months, 1 year or more ?
For example I often use shaders for video output (like color/aspect/mirror/... conversion)
I found one answer for video output. But it just utilise OpenGL texture. Probably I can render to texture by myself with shaders and provide this texture for NoesisGUI. I hope I don't need recreate/rebind this texture every render cycle.
7. Last on: Do you provide mingw libraries for Windows or only VS and what version of VS/mingw ?
Right now, only VS binaries are provided. Being a dynamic library we support Visual Studio from 2005 to 2013 (and probably 2015, but yet not tested).

We have a small studio doing the MINGW libraries, you could probably cooperate on this. Although for this you will need a license with source code.
It would be good, but I'm afraid for one-man non-profit project price will be too high :)

Thank you

Re: Basic questions about NoesisGUI

Posted: 19 Jan 2015, 11:17
by jsantos
Could you tell approximate target for custom shaders ? 3 months, 1 year or more ?
For example I often use shaders for video output (like color/aspect/mirror/... conversion)
I found one answer for video output. But it just utilise OpenGL texture. Probably I can render to texture by myself with shaders and provide this texture for NoesisGUI. I hope I don't need recreate/rebind this texture every render cycle.
Implementing custom shader effects fully compliant with WPF (like this) is definitely going to take more than 3 months. Although probably an intermediate non-portable solution where the client inject a shader handle can be implemented faster.

Anyway, shaders are intented for creating shadows, blur, glass... for video it is better the approach you comment about creating the texture yourself and filling it as you wish. Of course you don't need to recreate the texture per frame, this approach is optimal.

Re: Basic questions about NoesisGUI

Posted: 19 Jan 2015, 11:37
by ksubox
We have a small studio doing the MINGW libraries, you could probably cooperate on this. Although for this you will need a license with source code.
That "small studio" is actually me :)
We are using MinGW in our project, so we also needed the source code license.
What I did was porting NoisisGUI to be MinGW compatible, but that was pre 1.0. Some parts of the toolkit will not be MinGW compatible as they rely on third party libs that in turn are not MinGW compatible.
But the library itself (the .dll/.lib) to be used in a game/application can be ported to MinGW.

I will do the port again for 1.2, probably starting next week with that. Last time I did it, it was a lot of work, as some of the Windows-specific code has to be done totally different with MinGW than with MSVC.
I would estimate that it takes 1 or 2 weeks this time, as I can look up how I solved some problems before :)

Personally, I don't think we could cooperate much here as I doubt that the port can be done by more than one person at a time. You can send me your Skype contact, though, so maybe we can discuss problems while I do the port (be aware, this is really pro level low-level porting C++ horror). But to do so, you too would need the source code license, or I could not share any information.

In any case, I would like if someone else was using my port, but you would - again- really need to buy the source license for that, as prebuilt binaries for MinGW just make no sense (too many incompatible versions and compilers around). I am sure we could agree on something with the Noesis team that you could use my prebuilt version, but there could be no guarantees. Compiling from source is just the MinGW way of life :)
Thank you for information. Of course I would like to help (I'm not a beginner in C++), but it's matter of time & money (I mean source license cost for one man could be very expensive, especially if Noesis will introduce additional time based fee) and I will need to feel myself at home with NoesisGUI before making any port. We will see, I already sent email to support about evaluation and price.

Thank you one more time.

Re: Basic questions about NoesisGUI

Posted: 20 Jan 2015, 22:35
by Volans
Good afternoon.
Yesterday I bought a noesisGUI assetstore.
I do not have unity pro.
While using the trial version under a different account.
Functional NoesisGUI-1.1.14.5178-TrialEditor.unitypackage corresponds to what I bought?
That is, when I buy a pro unity - I just get the opportunity to publish your project? Funtsionala in trial NoesisGUI same?

Sorry for my English, I translate.

Re: Basic questions about NoesisGUI

Posted: 20 Jan 2015, 22:43
by jsantos
Hi Volans,

Please, contact us in private sending us the invoice number of the Asset Store purchase and we will help you.

Thanks!

Re: Basic questions about NoesisGUI

Posted: 21 Jan 2015, 07:58
by Volans
Thank you for the quick fix.