Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

NoesisGUI : XAML-based User Interface [RELEASED]

Discussion in 'Assets and Asset Store' started by sfernandez, Jul 23, 2013.

  1. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    I can see at least 1 use case for this : user made GUI. This is available in a lot of mmo althought it didn't seem to pickup yet. May be worth adding in an optional dll with a single api call (ConvertXAMLToNoesis)
     
  2. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    Hi, the performance of the XAML that sfernandez posted should be very fast. All lifebars should be drawn in a single draw call.
    We don't have an example like that although there is something similar in the Primitives demo (where text is shown next to each gamobject).
    We can help you if you need to setup an example like that.
     
  3. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    I think that those limited scenarios (because those mmo's dont allow you to do everything) could be emulated by creaing GUI by code. Although the xaml importer is not available in the runtime, the API to create user interfaces is 100% there.

    Anyway, something to be evaluated in the future.
     
  4. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    Well no, you don't want end users having code access, usually you just let them edit XML (and in noesis case, you could let them edit XAML directly), all the MMOs games that do this just let you provide some XML to place elements AFAIK.
     
  5. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    No no, the user wont see the API. Is the game engine who will translate the xml (not a xaml) to API calls... I am not saying that this is the definitive solution. What I am saying is that it can be done that way in the current version.
     
  6. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    Doing this amounts to doing all the work the XAML parser does however, Wouldn't make any sense to roll your own there.
    But it's a niche need really, however it should be trivial since you already have the code for this so i would suggest you make an option to include that code (optional to avoid additional size) in a future version, more of as a nice bonus.
     
  7. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    We have added this request to our ticket data base. It will be reevaluated soon. Curiously, another client asked for this today. :)
     
  8. mossyblog

    mossyblog

    Joined:
    Jun 29, 2013
    Posts:
    24
    My mouse is hovering over the purchase button but before I click I have some questions.

    - XAML support. What isn't supported vs is? ie Visual States, Attached Behaviours etc? I gather the XAML standard is large (I should know I used to be the product manager for WPF/Silverlight) but it would be helpful to know the limitations ahead of time?

    - Multi-threading - does this work with Windows8 / Wp8 stores given for example Windows8 only allows ThreadPool etc.

    - Resource Dictionaries. We often found customers did some crazy stuff with these and again I would not envy 3rd party vendors like yourself to follow this trail of pain - but - do you support that as well and is it going to work as is with say WPF/SL today (ie for example does NoesisGUI handle a FIFO loading of multiple Resource dictionaries bust on their XAML creation order or do you work like SL/WPF where its a random lottery! (sorry about that folks).

    Anywho I'm attracted at the XAML approach vs ScaleForm flash so you have my full attention on this one! :)
     
  9. sfernandez

    sfernandez

    Joined:
    Feb 14, 2012
    Posts:
    104
    - As you said, XAML standard is very large, so enumerating here all the classes we supported from WPF/SL would be hard. I would say that we implemented a large part of WPF 4.0, incorporating some cool features from SL as Projection property. The best approach to know if something is implemented is to look at our documentation Class Hierarchy: if the class you are looking for is not there, we don't support it; if it is there, navigate to its own document page and see what properties and events are implemented. For the two specific classes you asked: VisualState and related classes are implemented, and control templates can be designed using visual states; Behaviors is a framework we want to add in the near future (we made some tests in the past and think it will be easy for us to implement it).

    - We don't have support for Windows Store nor Windows Phone 8 yet. Anyway, we have our internal thread pool that is used in some parts of the pipeline, and we integrate perfectly with Unity thread model.

    - We support the use of Resource Dictionaries and Merged Dictionaries to organize user resources. We load them in the order they are specified in the XAML, and a resource reference requires that resource was previously defined. What do you mean with "customers did some crazy stuff with these"? Maybe I'm not understanding what is the problem here :confused:

    Any other questions you have that keep you undecided, don't hesitate to ask ;)
     
  10. sfernandez

    sfernandez

    Joined:
    Feb 14, 2012
    Posts:
    104
    Another life bar design with some gradients and animations (inspired by Street Fighter IV :p):

    Code (csharp):
    1.  
    2. <Grid
    3.   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    4.   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    5.   xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    6.   xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d">
    7.  
    8.     <Grid.Resources>
    9.         <Style TargetType="{x:Type ProgressBar}">
    10.             <Setter Property="Template">
    11.                 <Setter.Value>
    12.                     <ControlTemplate TargetType="{x:Type ProgressBar}">
    13.                         <ControlTemplate.Resources>
    14.                             <Storyboard x:Key="GlowAnim" AutoReverse="True" RepeatBehavior="Forever">
    15.                                 <DoubleAnimationUsingKeyFrames Storyboard.TargetName="Glow"
    16.                                   Storyboard.TargetProperty="(Border.BorderBrush).(Brush.Opacity)">
    17.                                     <EasingDoubleKeyFrame KeyTime="0" Value="0"/>
    18.                                     <EasingDoubleKeyFrame KeyTime="0:0:1" Value="1">
    19.                                         <EasingDoubleKeyFrame.EasingFunction>
    20.                                             <SineEase EasingMode="EaseInOut"/>
    21.                                         </EasingDoubleKeyFrame.EasingFunction>
    22.                                     </EasingDoubleKeyFrame>
    23.                                 </DoubleAnimationUsingKeyFrames>
    24.                                 <ColorAnimationUsingKeyFrames Storyboard.TargetName="IndicatorBg"
    25.                                   Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[0].(GradientStop.Color)">
    26.                                     <EasingColorKeyFrame KeyTime="0:0:1" Value="#FFFFEA80"/>
    27.                                 </ColorAnimationUsingKeyFrames>
    28.                                 <ColorAnimationUsingKeyFrames Storyboard.TargetName="IndicatorBg"
    29.                                   Storyboard.TargetProperty="(Panel.Background).(GradientBrush.GradientStops)[1].(GradientStop.Color)">
    30.                                     <EasingColorKeyFrame KeyTime="0:0:1" Value="#FFFF4130"/>
    31.                                 </ColorAnimationUsingKeyFrames>
    32.                             </Storyboard>
    33.                         </ControlTemplate.Resources>
    34.                         <Grid>
    35.                             <Border x:Name="Glow" BorderThickness="2" CornerRadius="3" Margin="1">
    36.                                 <Border.BorderBrush>
    37.                                     <LinearGradientBrush EndPoint="1,0" StartPoint="0,0">
    38.                                         <GradientStop Color="#3FFEFF00"/>
    39.                                         <GradientStop Color="#BFFF2F00" Offset="1"/>
    40.                                     </LinearGradientBrush>
    41.                                 </Border.BorderBrush>
    42.                             </Border>
    43.                             <Border BorderBrush="#3F000000" BorderThickness="1" CornerRadius="5" Margin="-1"/>
    44.                             <Border BorderBrush="#BFFFFFFF" BorderThickness="1" CornerRadius="4" Background="#26000000"/>
    45.                             <Grid x:Name="PART_Track" Margin="3"/>
    46.                             <Grid x:Name="PART_Indicator" Margin="4" HorizontalAlignment="Right">
    47.                                 <Border Background="#33000000" CornerRadius="1" Margin="-1"/>
    48.                                 <Border x:Name="IndicatorBg" RenderTransformOrigin="0.5,0.5">
    49.                                     <Border.RenderTransform>
    50.                                         <ScaleTransform ScaleX="-1"/>
    51.                                     </Border.RenderTransform>
    52.                                     <Border.Background>
    53.                                         <LinearGradientBrush EndPoint="300,0" StartPoint="0,0" MappingMode="Absolute">
    54.                                             <GradientStop Color="#FFFFD500" Offset="1"/>
    55.                                             <GradientStop Color="#FFFF1500"/>
    56.                                         </LinearGradientBrush>
    57.                                     </Border.Background>
    58.                                 </Border>
    59.                                 <Border>
    60.                                     <Border.Background>
    61.                                         <LinearGradientBrush StartPoint="0,0" EndPoint="0,10"
    62.                                           MappingMode="Absolute" SpreadMethod="Repeat">
    63.                                             <GradientStop Color="#26FFD500" Offset="0"/>
    64.                                             <GradientStop Color="#26FFD500" Offset="0.4"/>
    65.                                             <GradientStop Color="#66800B00" Offset="0.41"/>
    66.                                             <GradientStop Color="#66800B00" Offset="0.499"/>
    67.                                             <GradientStop Color="#26FF1600" Offset="0.5"/>
    68.                                             <GradientStop Color="#26FF1500" Offset="0.9"/>
    69.                                             <GradientStop Color="#66800B00" Offset="0.91"/>
    70.                                             <GradientStop Color="#66800B00" Offset="1"/>
    71.                                         </LinearGradientBrush>
    72.                                     </Border.Background>
    73.                                 </Border>
    74.                             </Grid>
    75.                             <Border BorderBrush="#3F000000" BorderThickness="1" CornerRadius="1" Margin="4"/>
    76.                             <Border BorderBrush="White" BorderThickness="1" CornerRadius="2" Margin="3"/>
    77.                         </Grid>
    78.                         <ControlTemplate.Triggers>
    79.                             <EventTrigger RoutedEvent="FrameworkElement.Loaded">
    80.                                 <BeginStoryboard Storyboard="{StaticResource GlowAnim}"/>
    81.                             </EventTrigger>
    82.                         </ControlTemplate.Triggers>
    83.                     </ControlTemplate>
    84.                 </Setter.Value>
    85.             </Setter>
    86.         </Style>
    87.     </Grid.Resources>
    88.    
    89.     <ProgressBar x:Name="LifeBar" Width="500" Height="40" Minimum="0" Maximum="100" Value="90"/>
    90.    
    91. </Grid>
    92.  
    And it looks like this:

    $lifebar2.png
     
    Last edited: Jul 31, 2013
  11. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    I do type all my xaml by hand personally (in visual studio) however the blend i have ( part of vs 2013 beta) does support wpf
     
  12. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    Nice looking progressbar :)
     
  13. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    Not in front of computer but either premium or ultimate, forgot
     
  14. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    Not while in beta no. Otherwise yet, i'm a premium subscriber and it's aroubd 3k/year, and ultimate is a lot more
     
  15. bali33

    bali33

    Joined:
    Aug 14, 2011
    Posts:
    232
    Hi sfernandez,

    I have take a look at the videos and it is impressive, congratulations !

    I have some stupid questions:

    How are build/designed interfaces ? I mean, is there a specific editor ?
    How do you declare an visual element as a specific entity in order to be able to retrieve it the code ?

    Thank you
     
  16. shaderop

    shaderop

    Joined:
    Nov 24, 2010
    Posts:
    942
    I have Visual Studio 2012 Professional, and the bundled version of Blend does indeed support WPF and even Silverlight apps, at least I think it began to support those as of Visual Studio 2012 Update 1 or 2 if I'm not mistaken. A Visual Studio Professional subscription will sit you back USD799/year. You can also get Visual Studio without subscription, which I think is about USD499. So it isn't that bad :)
     
  17. sfernandez

    sfernandez

    Joined:
    Feb 14, 2012
    Posts:
    104
    Microsoft seems to be reorganizing its XAML related products and the transition is being a bit chaotic (at least for me).

    As Ronan pointed, the Visual Studio 2013 product line will have support for designing WPF applications (Blend style).
    I will stick to Visual Studio Express 2013 for Windows Desktop because it works in Windows 7 and Windows 8, and has support for WPF applications, and for free. You can download the Preview from here.
     
    Last edited: Aug 1, 2013
  18. sfernandez

    sfernandez

    Joined:
    Feb 14, 2012
    Posts:
    104
    Thanks, :D

    Not bad for a pure programmer without any art background :p
     
  19. sfernandez

    sfernandez

    Joined:
    Feb 14, 2012
    Posts:
    104
    - We used Microsoft Expression Blend because it was a great tool for designing XAML based applications, but Microsoft is abandoning the Expression product line towards the new Visual Studio versions. As I recently commented, the best option seems to be Visual Studio Express 2013 for Windows Desktop. And if you feel comfortable with a text based editor, I suggest Kaxaml.

    - There are different ways of connecting visual elements with the application logic. The simpler will be by giving a name to the element you want to modify:

    Code (csharp):
    1.  
    2. <Grid
    3.   xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    4.   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    5.     <TextBlock x:Name="text" Text="Hello!"/>
    6. </Grid>
    7.  
    Code (csharp):
    1.  
    2. using UnityEngine;
    3. using Noesis;
    4.  
    5. public class CodeBehind: MonoBehaviour
    6. {
    7.     // Use this for initialization
    8.     void Start()
    9.     {
    10.         NoesisGUIPanel gui = GetComponent<NoesisGUIPanel>();
    11.         FrameworkElement root = gui.GetRoot<FrameworkElement>();
    12.         TextBlock text = root.FindName<TextBlock>("text");
    13.         text.SetText("Bye bye");
    14.     }
    15. }
    16.  
     
  20. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    Honestly it was very worth it, it actually feels cheap i mean it's my main work tool.
    But i stoped renewing (this june) because their free/cheap offerings are catching up . . .
     
  21. sfernandez

    sfernandez

    Joined:
    Feb 14, 2012
    Posts:
    104
    Of course, anything that can be expressed in XAML can be done with code. You can get the ItemCollection associated to any ItemsControl element and add items dynamically to it.

    Code (csharp):
    1.  
    2. NoesisGUIPanel gui = GetComponent<NoesisGUIPanel>();
    3. FrameworkElement root = gui.GetRoot<FrameworkElement>();
    4. ListBox listbox = root.FindName<ListBox>("MyList");
    5. ItemCollection items = listbox.GetItems();
    6. items.Add(new TextBlock("Item 1");
    7. items.Add(new TextBlock("Item 2");
    8.  
     
  22. sfernandez

    sfernandez

    Joined:
    Feb 14, 2012
    Posts:
    104
    I will try to explain this topic because it is a mess even for us.

    For text editing of XAML, I highly recommend Kaxaml.

    All Visual Studio versions (Express included) come with a basic XAML Designer. It is a visual editor that could be a valid tool for many people that wants to work with XAML.

    But Blend is a more advanced and powerful tool to edit XAML interfaces.

    Blend for WPF/SL (the one we support now) is currently available in Professional/Ultimate versions of Visual Studio (since VS 2012).
    Anyone can try it downloading the 2013 preview here.

    Expression Blend 4 (which supports WPF/SL) is still available for Microsoft Bizspark subscriptors as part of the Expression Studio 4 pack.

    There is another version of Blend that generates XAML for Windows Store and Windows Phone 8 applications, and is available for free in Visual Studio Express 2012 for Windows 8 here. There aren't many differences between the generated XAML for WinRT and for WPF, so we will adapt our parser to support it very soon.

    We will add all this information to the first post of this thread to be available for everyone ;)
     
  23. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    As sergio said, things seem to be more or less the same:

    1. Blend continues to be a commercial product (now integrated in the professional versions of Visual Studio).
    2. There are new versions of XAML (Windows8 and Windows Phone) and a new version of Blend for that versions that is free and included in the Express version of Visual Studio.

    This new version of XAML is almost compatible with NoesisGUI. I think that with minor changes on our side there will be a free high quality XAML editor for NoesisGUI.
     
    Last edited: Aug 2, 2013
  24. eskimojoe

    eskimojoe

    Joined:
    Jun 4, 2012
    Posts:
    1,440
    Hi sfernandez,

    Congratulations on your package.
    Nice to see another credible UI contender to NGUI.


    Your price of $150 is stunning.





     
    Last edited: Aug 2, 2013
  25. sfernandez

    sfernandez

    Joined:
    Feb 14, 2012
    Posts:
    104
    Thanks, we try to do our best :D

    The price is very adjusted because we know that is hard to trust a new company creating a whole new product. We preferred to set a lower price in order to catch the attention of more people, so that will help us mature, polish and build a better product.
     
  26. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
  27. Techdread

    Techdread

    Joined:
    Sep 10, 2010
    Posts:
    25
    Have to agree this solution is very powerful, its easily the most flexible I have used.
    However NGUI is not a patch on Noesis GUI.

    Once you get the tools in place (Blend 4/Visual 2013) the workflow is brilliant.
    The Devs should not waste their time on an integrated editor I was able to get excellent scalable GUI's on various Android devices just by dropping the xaml files from blend into Unity folders. :cool:

    The Unity people should have a word with the Noesis Devs and make them offer they can't refuse. ;-)
     
  28. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    I don't know if that would be a good thing, seeing how unity can't (not mocking them there, understandable) get a lot of the side projects going, it's probably better if they focus on the core let the asset store do it's job, it's been working very well that way so far i think we'll see more innovation on this vs if unity took it over and made it a mini project inside unity.
     
  29. jc_lvngstn

    jc_lvngstn

    Joined:
    Jul 19, 2006
    Posts:
    1,508
    I think what frustrates me is, many assets on the store lose support (even through they remain on sale).
    ]
    On the other hand...Unity features may actually be "worse" than some asset store features. I find it unlikely that they will -always- produce the most optimal system.

    But, at least if it is built in...it WILL be supported...to the extent that Unity supports their systems. The asset store is sometimes a risk. I think it's fair to say, people have spent a LOT of money on assets...that are no longer supported. Those turn into educational pieces of code :\

    And don't forget...Unity's systems are closed. And the new ui coming? I don't know how flexible it is, compared to Noesis. What if it's not? We'll find out...when it's already pretty much decided what it will be.


    Personally, I hope very much that Noesis flourishes for a long time.
     
  30. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    What Unity should at least do is allowing native plugins in all versions of Unity (not only pro). We don't think this must be a pro feature. NoesisGUI contains critical parts that need to be very efficient. And this only pro behavior is limiting our penetration.
     
  31. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    It's not so much a performance issue, it's a market penetration one, pro should differenciate itself in a way that doesn't hinder extention makers, else it's bad for everyone (including for unity losing the % cut on sales on free unity people)
     
  32. sfernandez

    sfernandez

    Joined:
    Feb 14, 2012
    Posts:
    104
    Just a note to improve your production pipeline: instead of copying XAML files from Blend project into Unity folder, make use of the "Link to Existing Item..." option in Blend's "Projects" tab. This way you can reference files from Unity assets folder directly from the Blend project, and any modification in Blend is automatically available when you switch back to Unity Editor ;)
     
  33. sfernandez

    sfernandez

    Joined:
    Feb 14, 2012
    Posts:
    104
    Of course, I will upgrade the demo to the latest version of NoesisGUI so anyone could test it with the Trial. I will post a link to download it soon.
     
  34. zipper

    zipper

    Joined:
    Jun 12, 2011
    Posts:
    89
    Last edited: Aug 5, 2013
  35. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    Hi, the problem is: that demo was done using Unity 3.5.X and we found that the link stored here (http://unity3d.com/gallery/demos/live-demos#3rd-person-shooter) not longer works in Unity 4.x, but we have found that there is a link in the store that works right in Unity 4.X. Unfortunately the new demo uses deferred lighting and there is a bug with deferred lighting in NoesisGUI <=v1.0.1. We fixed that bug and the demo will be available when we release 1.0.2 (expect this version in two weeks).

    Meanwhile, I can pass you a link to the old demo, only if you want to inspect the assets and the xaml, because it won't work.

    Just PM me, please.
     
  36. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    Yes, I read it :)
    I am uploading, give me a few minutes.
     
  37. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    Software often have such a key, however unless you explicitely got a license telling you you're free to use it, it's no more legal than pirating it.
     
  38. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    :) No problem at all. Already answered you.
     
  39. sfernandez

    sfernandez

    Joined:
    Feb 14, 2012
    Posts:
    104
    It is a Silverlight XAML, you have to create a Silverlight Application project with Blend ;)
     
    Last edited: Aug 6, 2013
  40. sfernandez

    sfernandez

    Joined:
    Feb 14, 2012
    Posts:
    104
  41. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    NoesisGUI v1.0.1

    >> Buy from Asset Store

    • Unity: NoesisGUI menu moved from Component to Window top menu entry because Unity3D is buggy and our menu was disappearing sometimes.
    • Text tutorial improved.
    • README file and root index.html added to .unitypackage.
    • Minor changes to Unity tutorial.
    • SamplesGallery builds needed resources automatically. Now it doesn't crash the first time it is executed.
    • Fixed: XamlPlayer crashing when maximized
    • Fixed: Unity was unable to build .xaml resources when the active platform was not PC MAC.
    • Fixed: Improved Unity stability. Crashes when clicking Play or Stop resolved.
    • Fixed: inheriting from extended classes in Unity was not working.
    • Fixed: Added namespace to Unity class name so xamls designed in Blend using namespaces work correctly.
    • Fixed: Binding FallbackValue was not serialized correctly when it contains a boxed value.
    • Fixed: ControlGallery TextBlock sample was missing.
    • Fixed: Clipping problems in Unity 4.2.
     
  42. sfernandez

    sfernandez

    Joined:
    Feb 14, 2012
    Posts:
    104
    First post updated with info about the recommended XAML Editor Tools ;)
     
  43. NTDC-DEV

    NTDC-DEV

    Joined:
    Jul 22, 2010
    Posts:
    593
    Definitely interested in the product, but I have a couple of deal-breaker questions;
    - How do you license to non-profit governmental entities?
    - Any possibilities to have Web-Player support, soon?

    Thanks!
     
  44. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    Hi!

    Could you please contact us in private to discuss the license options?
     
  45. Neural Echo

    Neural Echo

    Joined:
    Jul 5, 2007
    Posts:
    83
    You could always port your XamlPlayer application into a Unity3D application, either as a standalone, an editor plugin, or both.
     
    Last edited: Aug 8, 2013
  46. Neural Echo

    Neural Echo

    Joined:
    Jul 5, 2007
    Posts:
    83

    If NoesisGUI is as good as it appears to be then I think Unity should acquire the company/team and integrate it into Unity... just like they did with Mechanim.
     
  47. NTDC-DEV

    NTDC-DEV

    Joined:
    Jul 22, 2010
    Posts:
    593
    Anyone who is using this (ronan, pouriez-vous prendre le temps svp?) can attest of the performance?

    I'm all for using the GPU, but when you have to support users with HD3000 integrated graphics, suddenly the CPU is far more powerful and the GPU becomes a bottleneck. Especially with fancy shaders and such.

    A real case scenario with two projects, 1 NGUI/EZGUI and 1 NoesisGUI equivalents would help a lot.
     
    Last edited: Aug 8, 2013
  48. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    That is not easy because XamlPlayer is C++. How could this be integrated inside the editor? kidnapping a window may be?
     
  49. jdesantos

    jdesantos

    Joined:
    May 24, 2013
    Posts:
    312
    I am personally using a HD4000 GPU for development and I can say you that everything goes really fast. In fact we have old GPUs here for testing the performance. Our shaders cannot be complex because we target GL ES mobiles. Complexity is normally created by using many vectors instead of bitmaps.

    We are interested in helping with the benchmark. If anybody send us a NGUI scene we can emulate it with Noesis to see performance differences.
     
  50. Neural Echo

    Neural Echo

    Joined:
    Jul 5, 2007
    Posts:
    83
    You could re-write the XamlPlayer using Unity's (Mono) C#.

    I realise it may not be easy to do, but once it's done you'll have a cross platform XamlPlayer application that can also be integrated into the Unity editor. Apart from the effort required, the two main problems I see with doing this would be porting any external libraries you use, and potentially lower performance due to using a JIT compiled language.
     
    Last edited: Aug 8, 2013