PDA

View Full Version : Unity too slow



arcanjl
March 19th, 2020, 00:39
It takes 1-4 min to open anything (Any links on the side, modules, maps etc). I have tried a fresh install x2.
I have a feeling it is something obvious.
Full Disclosure: This is the first time I have installed it and ran it. I was hoping it was far enough along that a noob like me could play with it.

Copernicus219
March 19th, 2020, 01:20
They still need to optimize it, that's what I've been told. It is way too slow for me still. You can actually run a session with it, and in my experience, once you've opened something like items or NPCs once, it reopens instantly(like it should the first time, not 30second wait or more). I also think it might depend on how many rulebooks you have, which I have a lot for Pathfinder. Hoping they optimize soon and it's as fast as FGC was.

LordEntrails
March 19th, 2020, 01:58
Remember, it's still in beta. It will get there.

Trenloe
March 19th, 2020, 11:01
It takes 1-4 min to open anything (Any links on the side, modules, maps etc). I have tried a fresh install x2.
What ruleset are you using? Which modules do you have open?

arcanjl
March 19th, 2020, 12:15
5e
I know it’s still beta, but I was hoping since it was open it would be playable.
Modules... hmmm. I have a lot, but opened only the defaults on fresh install. I didn’t even add the 50 dro. DMs guild yet. :)
Thanks for the replies. Sounds like just more waiting.

Trenloe
March 19th, 2020, 12:22
Thanks for the info.

Next thing - what is the spec of your PC? Operating system, processor, memory, graphics card...

arcanjl
March 19th, 2020, 14:20
Windows 10 Pro
i7-6700 @ 4GHz
64bit
32GB RAM
GTX 1080
Everything is on SSD

You would think I am a gamer - not really. Sometimes I dabble in wow, but I actually built this last year to play FG to the best of my ability. I even got the best upload speed I could from my ISP (only 10). I host 3 (sometimes 4) games, I LOVE FG
(I live in a small mountain town with no people lol)

Dang it... TMI :)

Trenloe
March 19th, 2020, 14:22
Discussions about performance issues with GTX 10XX cards here: https://www.fantasygrounds.com/forums/showthread.php?51753-NVIDIA-GTX-1070-Performance-and-FGU-Maxed-out-memory-and-clock-speed

arcanjl
March 19th, 2020, 14:38
Wow! Thank you!
I could grab an AMD Graphics card, would that help?
I have not tried any of the Fx, but I have tried the LOS

Trenloe
March 19th, 2020, 14:40
I could grab an AMD Graphics card, would that help?
It might, but I wouldn't go spending money on it. If you have one lying around give it a go.

As a test, if your motherboard has a built in graphics card, try using that and see if it's better/worse.

arcanjl
March 19th, 2020, 14:45
Is this only an issue for hosts, or both?

arcanjl
March 19th, 2020, 14:46
They still need to optimize it, that's what I've been told. It is way too slow for me still. You can actually run a session with it, and in my experience, once you've opened something like items or NPCs once, it reopens instantly(like it should the first time, not 30second wait or more). I also think it might depend on how many rulebooks you have, which I have a lot for Pathfinder. Hoping they optimize soon and it's as fast as FGC was.

Are you using GTX 10XX too?

Copernicus219
March 19th, 2020, 20:56
Are you using GTX 10XX too?

No, GTX 960.

arcanjl
March 24th, 2020, 18:00
Ok, I don't know if this will help, but I did record it. Also, closing this app during filming was darn right fast, normally it takes about 3-4 min.
https://youtu.be/xcxyJFfv8RY

pollux
March 24th, 2020, 20:11
Ok, I don't know if this will help, but I did record it. Also, closing this app during filming was darn right fast, normally it takes about 3-4 min.
https://youtu.be/xcxyJFfv8RY

In addition to the slow startup, is the main thing you're pointing out here is that opening content-browsing windows like stories is super slow? I reproduce this, I'm pretty sure it's expected behavior right now, and I believe it's due to "lazy loading". Some explanatory points:


You have a fair number of modules loaded, so there's a lot of content for FG to load up.
The loading mostly happens in a single-threaded Lua interpreter executing the ruleset code, which has to read a bunch of XML stuff in the module and turn it into in-memory stuff that can be interacted with. This process takes a fair while when you have a bunch of "books" loaded.
The fact that it's single-threaded means that it can only run on one CPU. You probably have a 4 core processor, with hyperthreading, and Windows counts it as 8 processors? That's why you hover around 15% CPU usage when FGU is "busy". It's flatlining what Windows considers to be a single CPU core, and if you look at the CPU tab of your performance monitor you should be able to confirm that. Note that the load might hop from CPU to CPU, but only ever running substantially one on at a time.
You already note that FGU is slow to start up, everyone complains about this. In order to improve startup time (and reduce RAM usage), SmiteWorks introduced "lazy loading", which means that certain kinds of assets are loaded on demand instead of on-startup.
I didn't realize this until just now... but it appears that the asset loading isn't all that lazy... and it still needs to do a lot of work in order to load up the main content browsing lists like the story list or the npc list. So you click the story button... and now FGU has to parse every single story entry to figure out the title, during which the UI isn't real responsive and your single-threaded lua interpreter is clobbering its single CPU. I wasn't watching super closely, but probably the RAM usage of FGU climbs a little bit here as well as those items get parsed and the parsed results get stored in RAM.
Once all the story-entries are parsed, the story window pops up and things are good again. If yuo close the story window and reopen it, it reopens quickly because the parsed results stay in-memory and don't have to be parsed again.
This process of parse, freeze, store-in-memory repeats for each major content browsing window... during which time FGU appears to be crazy slow. But after you open each content browsing window a single time things will be zippy for the remainder of that FGU session as long as your RAM doesn't get overloaded because FGU doesn't need to re-parse the item lists again since it still has them in memory.


What this all says to me is that lazy-loading isn't really doing its job all that well, since you still have giant parsing bottlenecks that prevent you from doing anything after startup. Maybe what they should do is generate and cache indexes during module loading so that the browsing windows can open without parsing all the entries. Or maybe parse lazily but proactively, so that FGU loads prior to parsing everything but keeps right on parsing after loading so hopefully it's done parsing story entries by the time you click (this seems worse to me that indexes because it would give up the memory-benefits of lazy-loading, but I'm speculating).

Anyway, I think what you're seeing is expected, and you can work around it by just clicking on stuff after startup and then it will be fast after the initial round of opening lists is complete.

arcanjl
March 24th, 2020, 20:44
Is there a way I can force it to use all the processors?

Can there be an option to load it all at once for those who have enough ram? (slow startup, but then all the rest is fast)

I have a lot more modules than what shows there :) (I'm an adict), I would really like to load them all. :(

pollux
March 24th, 2020, 21:01
Is there a way I can force it to use all the processors?

If it was easy to use all the processors, they'd have done it that way. Optimization is on the roadmap, and I don't know what strategies they'll take, but there's certainly no pre-existing "go faster" button that you haven't found.


Can there be an option to load it all at once for those who have enough ram? (slow startup, but then all the rest is fast)

I'm not aware of such an option, and I'd like to think that they'll come up with a better solution than this given time... but maybe.


I have a lot more modules than what shows there :) (I'm an adict), I would really like to load them all. :(

I think your best options right now are either slim your campaign a bit, or click around the menus before your players connect to "warm up" the assets into memory.

arcanjl
March 25th, 2020, 00:01
Thank you.
I cleared all but 4 modules, no real difference. That is too bad, I really wanted to show it off to my players (LOS), but as it is, it is not playable.
I did order an AMD graphics card, I hope that helps. I will put it in the morning. I know it is beta, but crap, it's April. I was hoping that the 64 bit would fix the slowness, but now I know it was a matter of perspective, and it was never slow before.

I get the sense to run it off multiple cores, it would have to be written from the ground out, that sounds like an awful and an impossible task. I am sure glad they are supporting Classic (except for my Mac players) still. My Mac players are just waiting patiently.
Thanks for your responses!

pollux
March 25th, 2020, 00:46
I really wanted to show it off to my players (LOS), but as it is, it is not playable.

If we're still talking about the behavior demo'ed in your video above, I'm not really sure how that translates to unplayability. The workaround is to spend 1 minute or 5 clicking a dozen buttons before your players connect to warm the in-memory "cache". After that, loading stuff is instant. I would not expect players to have this specific performance problem, as the mechanisms by which they load assets shared by the GM are very different than the mechanisms by which the GM instance loads assets off disk. It's certainly an irritation, but once you have a mental model of what's going on you can get the "load it all on startup behavior that you want by manually loading the various lists when you fire up FG.

arcanjl
March 25th, 2020, 05:02
Yes, with the info you saw I agree. But... I tried today. I opened everything first. But... In the story, item, image, and encounter, and sound windows, it took 15 - 30 sec to search or open links, and sharing them took just as long. It was frustrating and took us out of the emersion of game play. I should add, when we wait, the entire game is frozen. I can’t do anything. I will try tomorrow with the amd, I hope it will work better.

I feel like there is something up, cause when I watch Doug and others, they almost never wait. I would be willing to build a pc to play it optimally, but how? An old duel core?

knucklehead
March 25th, 2020, 06:17
Something up is async loading and it's been a thing for like 15 years in almost every corner of the coding universe.

What you have isn't a novel problem that hasn't been faced everywhere there's I/O or latency bottlenecks. Quite certain C# and Unity have this problem solved already, at a very fundamental level.

celestian
March 25th, 2020, 06:19
Something up is async loading and it's been a thing for like 15 years in almost every corner of the coding universe.

What you have isn't a novel problem that hasn't been faced everywhere there's I/O or latency bottlenecks. Quite certain C# and Unity have this problem solved already, at a very fundamental level.

I wouldn't be surprised one bit if the latency/performance issues all revolve around Lua.

Trenloe
March 25th, 2020, 10:06
I was hoping that the 64 bit would fix the slowness, but now I know it was a matter of perspective, and it was never slow before.
64-bit has nothing to do with speed. It allows access to more memory. You can open more "Stuff", bigger images, etc. with a 64-bit system, but the processor still has to cope with that - even with an optimised application (we're not there yet) if you open lots of "stuff" then things will get slower.

arcanjl
March 25th, 2020, 23:23
Installed amd. A little different maybe? Hoping so. Just letting you know.

Weissrolf
April 5th, 2020, 01:23
There are multiple Unity Player threads running. Is there no way to make the LUA interpreter multi-threaded as well then (multiple interpreters being spread among those multiple player threads)? Single-threaded applications/media formats need to stop existing.

damned
April 5th, 2020, 01:37
I wouldn't be surprised one bit if the latency/performance issues all revolve around Lua.

And the number of modules loaded having all their images pulled into assets

Moon Wizard
April 5th, 2020, 01:39
It's not that simple. Multi-threaded programming is a complex subject.

Even if we were to somehow get a multi-threaded Lua engine running (which I'm not sure exists or whether it's even possible); that complexity would be passed on throughout the entire API and all ruleset/extension development. Currently, the code running for rulesets/extensions assumes it can access any other Lua object in the tabletop; which means that they all have to exist in the same Lua engine instance.

We're focusing on getting the graphics and networking running in a multi-threaded way to offload from the main thread running the Lua engine and tabletop.

Regards,
JPG

arcanjl
April 5th, 2020, 07:43
That sounds great!

I just played 8 hours with 7 players. We all loved the new features but the delays, the freezing, the stuttering, was just too much. We all agreed that as good as it is right now, it is not playable. So back to classic, and moving all my stuff back over.

It’s so hard. After 2 years we are so close.

Weissrolf
April 5th, 2020, 08:57
The simple answer would then be: Don't use LUA, it's old news.
A somewhat less simple answer would be: Try to get LUA to do multithreading via external libraries such as https://github.com/effil/effil

LUA is also holding back World of Warcraft addons for a long time already. You can throw all the money in the world at your computer, singlethreaded operation will keep you waiting nonetheless.

Trenloe
April 5th, 2020, 11:17
The simple answer would then be: Don't use LUA, it's old news.
Old news if FG was a brand new application. But it’s not. If you don’t use LUA then you throw out all rulesets, extensions, etc. that have been developed over the last 10+ year.

Houndy
April 5th, 2020, 11:33
And the number of modules loaded having all their images pulled into assets

Yes, I agree with this. I dont know how it works, however, it seems like the full image is loaded.

1. Should there be a separate thumbnail image which is generated for each big image?
2. Images should only appear when they show in the current search screen (so only 50 or so thumbnails would have to be loaded at a time).

Similar things for items etc.

1. Only need to have a string list of items in the module, and only load the stats for those appearing in the search results?

I think overall, we know that the team has very experienced programmers, and they know the system better than anyone here. I am sure they are looking into all options. They just need time :).

Weissrolf
April 5th, 2020, 11:52
Old news if FG was a brand new application. But it’s not. If you don’t use LUA then you throw out all rulesets, extensions, etc. that have been developed over the last 10+ year.

FGU is kind of a new application, but I see the dilemma, of course. Still it seems that currently we get the bad of both worlds, legacy LUA holding back modern computers from running FG faster and Unity overhead on top of it decreasing performance further. And the end result even looks worse graphically (readability) at the moment.

Frankly, while I know that FGU is a work in progress I have little understanding why it is prominently put on top of the Download list with no STRONG indication of it being in Beta (partly even Alpha) state?! That is pointing all potential new users - like my current Pathfinder group - to an unfinished product. Classic likely will need a "Legacy" indication quite soon, which leaves FG in an uneasy state for the time being.

arcanjl
April 5th, 2020, 14:11
I agree.
When I first heard of Unity 2 years ago, I actually thought that all addons (Mods) would have to be repurchased and that the library would start out skimpy while they rebuilt it. Maybe a discount for those who already owned it is what I thought. I was ok with that. Sometimes you have to shed that old stuff, and that is just the way it goes. I know that is not a common belief, but ... I want quality over quantity pls.

LordEntrails
April 5th, 2020, 21:36
I agree.
When I first heard of Unity 2 years ago, I actually thought that all addons (Mods) would have to be repurchased and that the library would start out skimpy while they rebuilt it. Maybe a discount for those who already owned it is what I thought. I was ok with that. Sometimes you have to shed that old stuff, and that is just the way it goes. I know that is not a common belief, but ... I want quality over quantity pls.
For what's it's worth, you're the first person I've heard of that is willing to re-buy everything for FGU. I've seen hundreds of posts and comments over the last year or two with people concerned or put off by the thought that they would have to re-buy anything. Heck, even some complain about having to buy a new license (even with discounts).

But, everyone wants something a little different or has different needs and tolerance levels.

Copernicus219
April 5th, 2020, 21:44
For what's it's worth, you're the first person I've heard of that is willing to re-buy everything for FGU. I've seen hundreds of posts and comments over the last year or two with people concerned or put off by the thought that they would have to re-buy anything. Heck, even some complain about having to buy a new license (even with discounts).

But, everyone wants something a little different or has different needs and tolerance levels.

Yes, I'm very thankful I'm not having to re-buy all my content for a newer platform. I don't think the performance thing will be an issue too much longer.

Weissrolf
April 6th, 2020, 09:45
I am a new user, not much to rebuy anyway, but that decision has already been made. I linked to a LUA multi-threading library in my last post, is this something that would work for FGU? And is there a reason why FGU does not (optionally) allow preloading of data before the GM/player opens the corresponding windows?

Trenloe
April 6th, 2020, 10:55
When I first heard of Unity 2 years ago, I actually thought that all addons (Mods) would have to be repurchased and that the library would start out skimpy while they rebuilt it.
If that was the case then the amount of DLC available for DGU would shrink drastically - to perhaps just D&D 5E. To program a ruleset takes many hundreds of hours of work - and this is all currently in LUA and XML. To move away from that would mean all rulesets would have to be rebuilt from the ground up, and maybe a lot of the DLC too. This is one of the main reasons that the FGC framework (LUA and XML) *had* to be kept, otherwise you would be basically doing a completely new application with new DLC. I for one would not take the hundreds of hours to move stuff I've developed over. And FG would go from the VTT with the most official content and most variety of content to a brand new app with very little content.

The goal has always been to have maximum compatibility with old FG material. This hasn't changed in over 5 years, and hopefully won't change. FG Classic shows that LUA can work in a single-threaded environment.

I get it, people want to game using FGU beta and just go ahead and play without issues. But this is in beta and the devs have said many times that efficiency in terms of memory and performance will be one of the last things done before general release. The massive increase in users has hit the devs hard as it has uncovered some scalability issues in the cloud environment - and these are being looked at as a priority.

Weissrolf
April 6th, 2020, 12:36
The large catalog of DLCs sure is one reason why I invested in FG compared to Roll20, especially the quick adoption of current Pathfinder Adventure Path modules. Single-threaded LUA (and whatever) still is becoming more and more of a nuisance to me, not specific to FG, but in general. I working with a 5 GHz 9900K PC and still regularly have to wait for software to finish tasks that quite obviously could have been parallelized (loading multiple images/files concurrently from modern SSDs is one example). Time is precious, even more so recreational time.


I get it, people want to game using FGU beta and just go ahead and play without issues. But this is in beta...
Tell that to the FG website, the FG installer, the FG updater and the FG application. None of these mark FGU as "Beta", the FGU download even is on top of the list above the Classic download luring users to download non-finished software without telling them. This seems rather counterproductive to setting up proper expectations.

damned
April 6th, 2020, 12:48
https://www.fantasygrounds.com/home/FantasyGroundsUnity.php

arcanjl
April 6th, 2020, 14:49
I realize that this has been a whirlwind, but from your statement, it has been 5 years. There could have been some reprogramming in the background from the ground up without even telling the users. 5 years is a long time. But... that didn't happen, my guess is that it has been a pretty small company, so it is easier to Monday morning quarterback, please take what I say with a grain of salt. AND yes, I understand that this is BETA, but wouldn't performance be number 1 on the 'bugs' to fix? If there are ways to use multi-threading with LUA, and the use of preloading - that would be HUGE.

Anyway, I am DMing again tonight, with a smaller group this time, and will try it again with the new build.


I working with a 5 GHz 9900K PC and still regularly have to wait for software to finish tasks that quite obviously could have been parallelized (loading multiple images/files concurrently from modern SSDs is one example). Time is precious, even more so recreational time.

Here here. And if the players have to wait?? oh man, end of the world lol

Trenloe
April 6th, 2020, 14:56
I don't think any of us truly appreciate the monumental task it has been to get FGU to where it is now. Only those directly involved will truly know. We can all speculate and give our opinions on what would be the best way to go in a perfect world, or with millions of dollars available for a big development team. The truth of the matter is that SmiteWorks is not a massive company, they rely on community developers for the majority of their products (rulesets and DLCs) and have had to juggle the regular release of FGC updates during the long development of FGU, while keeping their eyes on the end goal - backwards compatibility and multi-platform support.

Like I said - the devs have been very open that their priority right now is not on performance efficiency - that will come closer to general release. I'm sure they'll look at various possible way of improving performance when they get round to actually working on it.

arcanjl
April 6th, 2020, 15:02
I don't think any of us truly appreciate the monumental task it has been to get FGU to where it is now. Only those directly involved will truly know. We can all speculate and give our opinions on what would be the best way to go in a perfect world, or with millions of dollars available for a big development team. The truth of the matter is that SmiteWorks is not a massive company, they rely on community developers for the majority of their products (rulesets and DLCs) and have had to juggle the regular release of FGC updates during the long development of FGU, while keeping their eyes on the end goal - backwards compatibility and multi-platform support.

Like I said - the devs have been very open that their priority right now is not on performance efficiency - that will come closer to general release. I'm sure they'll look at various possible way of improving performance when they get round to actually working on it.

Yes, and the bitching does sound like we don't appreciate it. WE DO, or at least I do. This is a program that we use (as in me hours a day), and love, and just want the best. I actually missed that performance will come later, thank you for that.

Weissrolf
April 6th, 2020, 15:33
https://www.fantasygrounds.com/home/FantasyGroundsUnity.php
My player never saw that screen. They went straight to the homepage -> download. Had I not specifically told them otherwise then they would just have downloaded the first hit, which is the Unity installer. As far as I can tell there is no mentioning of the word "Beta" anywhere along that way from start to finish.

LordEntrails
April 6th, 2020, 17:13
yes, I understand that this is BETA, but wouldn't performance be number 1 on the 'bugs' to fix? If there are ways to use multi-threading with LUA, and the use of preloading - that would be HUGE.
If players can't connect, or download content, or see shared images, then their is no point in being able to do it quickly :)

As the Devs have said, they have look at multi-threading LUA, and its' not something they can do in a reasonable amount of development time. In part because the commercial tools to do so are not mature enough for their liking.


My player never saw that screen. They went straight to the homepage -> download. Had I not specifically told them otherwise then they would just have downloaded the first hit, which is the Unity installer. As far as I can tell there is no mentioning of the word "Beta" anywhere along that way from start to finish.
So your players downlaoded software based on your recommendation? And you never told them it was beta? Ok. And on the Home page they didn't see the big graphic?
33188

Look, I get it, most people would have to scroll down a little to see that. And it is certainly foreseeable that folks wouldn't do that. But continuing to complain that someone can install beta software without knowing it because they went straight to the download link is not productive. I can only imagine the complaints it the link wasn't to the installer and it was to another info page.

At some point, people need to take responsibility for their own actions.

Weissrolf
April 6th, 2020, 19:55
So your players downlaoded software based on your recommendation?
Of course they did, else they could not have connected to my FG server. And they have to trust my recommendation and judgement that downloading, installing and using this software is more benefit than trouble for our shared social life. Some of them are rather skeptical about such things. Fortunately they did not have to create FG accounts first.


And you never told them it was beta?
Of course I did, this is why they downloaded Classic instead of Unity. Had I not told them then they would have downloaded Unity, because it is the very first choice on the list and nothing marks it as Beta. Even when you run FGU it is not marked as Beta!

When I tell a customer to download a remote support software like Teamviewer then I don't have to specifically tell them to avoid Beta installations. When I tell them to download a driver then again I don't have to specifically tell them to avoid Beta downloads. I think FGU was the first time in decades that I had to specifically tell people *not* to use the *most obvious *download link, because it would install a beta product.


Ok. And on the Home page they didn't see the big graphic?
What graphic? Why do users have to search for it? Why do you have to point to it? Get the problem here?
https://www.fantasygrounds.com/forums/attachment.php?attachmentid=33194&stc=1&d=1586199842


Look, I get it, most people would have to scroll down a little to see that. And it is certainly foreseeable that folks wouldn't do that.
A little, yes. And then they are told about "Early Access". What does that mean? Does that mean early access to the finished product, like when you see a movie early at a theater? Is it Alpha, is it Beta, do people even know what that means? Does the link on said "Early Access" image take you to a page that clearly states what all this is about? Or do you first have to click on the correct question (#3 "Which version should I buy if I am new")? And even then you are only told about "Early Access", nothing about the software still being in a Beta phase (some parts maybe even rather Alpha).

Here is part of the answer: "...still has some bugs and missing features, we believe that it is ready for people to play and start using."

Nothing there states that performance and visuals are worse than Classic in several aspects, even to the point of one thinking the program froze when on a very modern system it keeps starting up for half a minute without any progress bar (that's what progress bars and hour-glass pointers were invented for).


But continuing to complain that someone can install beta software without knowing it because they went straight to the download link is not productive. I can only imagine the complaints it the link wasn't to the installer and it was to another info page.
People are either willingly or unnecessarily misguided to download, install and use unfinished software. This should not happen, period!


At some point, people need to take responsibility for their own actions.
Whose action was it to knowingly set up the home-page to lead people into downloading Unity as if it was (very close to being) finished? Why would people not be confused about the current state of the software when it is "marketed" as rather close to the finish line? We are even asked to upgrade and pay money given the very same impression of "hurry, it's nearly ready for official publication".

pollux
April 6th, 2020, 20:01
I would vote to lock this thread at this point. What started out as a useful discussion characterizing performance issues has somehow devolved into a mix of venting frustration and and reports/suggestions that are so uninformed that they border on disinformation.

Weissrolf
April 6th, 2020, 20:10
Well, people have to stay honest and keep some perspective. Everyone is here to report issues with the unfinished Beta version of FGU, so we can live with drawbacks and bugs. But people were also somewhat made to believe that the product was at a later stage of development than it truly seems to be. And at least part of us had hoped for more substantial changes rather than just hoping that FGU at least matches Classic in playability when it is finally finished.

(Limited) LOS and map making is great, the network Lobby at least promises to save the firewall/router woes, but everything else is expected to work at least at well as Classic, preferably better. Just listing expectations and experiences here, no frustration or venting from my side.

LordEntrails
April 6th, 2020, 21:25
I've got to agree with Pollux. I don't see any value in the continuation of this discussion and I probably shouldn't have made my last post either. I knew it wasn't going to be productive but I thought it was worth a try.

Moon Wizard
April 6th, 2020, 22:46
Closed for now. If you are having specific issues, please report in an individual thread.

Regards,
JPG