The concept of Jing is the always-ready program that instantly captures and shares images and video…from your computer to anywhere.

April 2008 Archives

April 10, 2008

Jing takes HOW MUCH MEMORY?!

Posted on Thursday April 10, 2008 by Bill Scanlon

Hiya,

As you may have noticed, the current version (1.4.8028) of Jing for Windows (or winJing as we call it internally) has HUGE 'memory leaks (errr...poor memory management. .NET doesn't have 'memory leaks').

Well, we are sorry about that. And we've finally gotten around to fixing a bunch of them. The fixes will be in the next update which should be coming out very soon.

A word of warning.

It might happen that you run that next update, open Task Manager, take a peek at Jing and say 'Whaaa? 200 MB Mem Usage?! You haven't fixed anything!'

Well, yes it's possible (even likely) that we still have some clean up to do. But, basically Jing will always appear to take up a healthy chunk of memory. I'm going to write a short series of blog posts on why the memory usage is biggish, what you should expect as normal memory usage and also suggest a better way to monitor Jing for any future poor memory management.

As always, if you see any performance degradation in Jing or other applications when running Jing, please let us know via TechSmith technical support.

have a good day,
bill 'a developer' scanlon

Comments contest (no prizes)

As a fond farewell to the old, leaky Jing, let's see who can leave a capture of their largest Jing Mem Usage.

I'll start it off with my current memory usage

Share Submit link to Del.icio.us | Submit to Digg Digg This | Submit to Reddit Reddit

April 3, 2008

Game Developer Jings His Blog

Posted on Thursday April 3, 2008 by Mike Curtis

Maxwell Scott-Slade sent us an email about a Wicked Cool way he's using Jing. He wrote: "You can see my Jing website here: llllost.com where I use Jing with my own code to make it an image blog." We had to know more, so we asked...and Maxwell dished the details. (Disclaimer: If you wind up vaporizing a few hours playing Attak or HighSpeedChase ...don't come crying to us!)   —Daniel Foster, newsletter editor

Jing user screenshot

What's Johnny Two Shoes and who visits your image blog at llllost.com?

JohnnyTwoShoes is an independent games company I run (now full time!) with my brother Josh and girlfriend Sarah. We use llllost and Jing to relay ideas and keep a global history of what's happening—we only show the latest 30 posts to the public at the moment.

Currently llllost is visited by die hard JohnnyTwoShoes fans and ourselves. We've tried to keep it a little quiet.

Why did you start using Jing? What problem were you trying to solve?

I was using Apple OSX a lot at work; I loved the fact that I could copy a portion of the screen to clipboard and used to paste to iChat a lot to demonstrate ideas to co-workers. I work primarily with web design and development so to be able to show stuff visually is an amazing asset.

Then, I thought why can't I do this on my PC? I was actually exploring ways to write my own version for PC and I thought it would be great to upload images to an FTP server afterwards if people can't accept file transfers. I was so relieved to find someone beat me to it and added a lot of things I hadn't thought of!

Now I use Jing on PC and on Mac.

How are you using Jing for llllost.com?

When you're just too busy, a blog is a real chore. With images you can just "jing" what you need of your screenspace to capture that portion of an idea.

I guess llllost has evolved from there now. We like to keep snippets of our progress which also acts as a preview (or teaser) for users of our games site JohnnyTwoShoes. Jing lets us all have a little say about what's happening without actually ever typing a word more than the title.

How have you configured Jing? You mentioned that you're using it with some custom code you've written...

Jing is configured to upload to a folder on my FTP server. After that, a PHP script (that I originally wrote in a lunch break at work, using the CodeIgniter PHP framework) takes the uploads, makes a little thumbnail version and sticks it into a database. It's all cached so it's super quick as well.

The website does all the work, all we have to do is grab a portion of the screen and press "share"—it's online. Also made it output an RSS feed so I can see what's going on without being there.

What do you like most about using Jing?

Jing lets me communicate ideas much faster. It's hard to be confused when you've got something to look at straight away. I also like that I could add something to the process by making my own functionality on the remote server.

Have your own cool use for Jing? Leave a comment or drop us a line.

Share Submit link to Del.icio.us | Submit to Digg Digg This | Submit to Reddit Reddit

April 7, 2008

Screencast.com Scheduled Maintenance (Site Will Be Down) - April 8th

Posted on Monday April 7, 2008 by Tony Dunckel

As with all fine tuned systems, Screencast.com needs a slight tweaking of the dials to keep it running in top condition.

The site will be unavailable for roughly one hour beginning tomorrow, April 8th, at 7am Eastern Time.

Please note that if you try to upload to Screencast.com from Jing during this time, you will likely recieve an upload error. However, those captures will be readily available for you in your Jing History and can be re-uploaded when Screencast.com becomes available again.

Thanks for your patience,
The Jing Team

Share Submit link to Del.icio.us | Submit to Digg Digg This | Submit to Reddit Reddit

April 8, 2008

Epic Jing Quick Tip: Moving The Sun

Posted on Tuesday April 8, 2008 by Anton Bollen

Reason #23 why Jing is cool: It lets you move the sun.

Isn't that epic?

To make it more clear what I'm talking about, I put together the most epic Jing tutorial yet: Moving the Sun

I hope you enjoy the video - and have fun moving the sun!

Share Submit link to Del.icio.us | Submit to Digg Digg This | Submit to Reddit Reddit

April 14, 2008

Jing for Windows memory usage

Posted on Monday April 14, 2008 by Bill Scanlon

Hiya,

Abstract:

Jing for Windows (winJing) will at times appear to be occupying a lot of memory. That is normal and shouldn't affect the performance of other applications on your system. If it does, let us know.

The rest:

winJing is made using Microsoft's .NET framework. In traditional applications, the operating system handles memory management. For .NET applications, the .NET framework handles it. That means when the application starts, the .NET framework reserves one big ole block of memory, more than the application actually needs. It then doles out memory to the application on request and reclaims it when it's done being used.

So, a .NET application looks like it's consuming a ton of memory even though it's likely not actually using all of it.

That might sound wasteful. However, most of machines now days have the memory to spare. .NET is trading memory for more speed (in theory) as allocating memory can happen quickly when it's all done from one big block.

Also, the .NET framework is supposed to give that memory up if another application needs it, so you shouldn't notice degraded performance in other applications.

So, all .NET applications look a little hungry. Jing being a multimedia application can make it appear a bit worse. People tend to do large full screen captures which take up a lot of memory. A big capture will expand winJing's memory consumption a bunch. After the capture is saved or canceled, hopefully we've released the memory properly, but .NET doesn't free that memory right away. It'll wait until Jing or some other application needs it…which might be a long time in the future.

So until then, winJing will be consuming what seems like a ridiculous amount of memory.

Then at a some point...'Pop!'

It'll drop 50 MB or more!

Of course, winJing's memory should not grow unbounded. It should plateau after about two or three large captures depending on the amount of RAM you have and how much RAM other applications are using. The more space that is available, the more space .NET will allow winJing to use. If it just keeps growing and growing, then there's probably a problem on our part.

So, to be clear, I am NOT saying winJing's memory usage is Microsoft's fault. .NET is designed to run large for sure. But WE chose to use it. So, if you are still displeased with winJing's memory consumption, we are to blame.

But you shouldn't see any performance degradation in your other applications when running Jing.

If you do, please let us know.

have a good day,
bill 'Please leave technical corrections to my explanation in the comments, I'll amend the post accordingly :) '
scanlon

Share Submit link to Del.icio.us | Submit to Digg Digg This | Submit to Reddit Reddit

April 17, 2008

Watching for leaks in Jing for Windows

Posted on Thursday April 17, 2008 by Bill Scanlon

Hiya,

Are you the type who likes to keep an eye on your applications?

Do you crack open Task Manager and check the 'Mem Usage' to see who's the biggest hog on your system?

If you are and you see Jing behaving badly, please let us know.

However, I do have a suggestion.

I'd recommend you not look at the 'Mem Usage', but rather the 'VM Size'. The 'Mem Usage' is the amount of RAM that Jing is using at that time and it varies depending on things like the total amount of RAM available and the amount of RAM other applications are using.

The Virtual Memory Size ('VM Size' on XP's Task Manager, 'Commit Size' on Vista's Task Manager) shows the Jing ONLY memory...at least to a best approximation. From what I can find, these numbers all seem to come with a bevy of 'sort ofs' and 'mostlies'.

If this number is growing consistently and never leveling off or decreasing, it's a sign that we may have some 'poor memory management'.

So, if you've got a minute:


If you notice the virtual memory growing a lot or if your other apps or Jing seems to run slow, please let us know.

have a good day,
bill 'My current Jing Virtual Memory Size' scanlon

Share Submit link to Del.icio.us | Submit to Digg Digg This | Submit to Reddit Reddit

April 24, 2008

Good, Better, Best...Bester?

Posted on Thursday April 24, 2008 by Bill Scanlon

Hiya,

In previous articles, I've explained how Jing for Windows (winJing) has had issues with poor memory management and that, though we've cleaned them up, Jing may still appear to occupy a fair bit of memory.

Investigating and fixing these memory issues has been quite an adventure and I thought I'd share...in slightly cutesy form.

[fade in]

Jing's Memory Usage
Finding, Fixing and Faking(?)


{Opening credits go here}


In the beginning, Jing was a good application.

It allowed me to share quickly and simply.

It stayed out of my way, but was there when I needed it.

However, it was the biggest memory hog on my machine. And as one of its developers, that was very embarrassing. So I made some time to see what I could do about it.

To lay a baseline, I did seven full screen (dual monitor) image captures and saved each to the Desktop.

The resulting Jing memory usage was ridiculous.



After each capture, the memory lept a mile and never leveled off or decreased. The unbounded and continuous growth was a strong indicator of poor memory management on our part.

So, I set off looking for problems. And golly did I find some doozies.

Shame on me.

After taking some time to track those down and mop them up, I repeated the seven image captures.




After the first three captures, the Mem Usage leveled out and remained pretty much unchanged thru capture seven.

The worst memory management problems seemed to be fixed.

'Well that's better' I thought...er...said...outloud...to myself.

"Hmm...But I know what might be best..."

The .NET framework (which winJing uses ) cleans up unused memory via something called 'garbage collection'. It does this infrequently because it has to completely stop the application and it takes a bit of processor time.

But I figured, maybe I could call it manually.

I mean, I know what I'm doing, right?

I am so smart! S - M - R - T! And all that.

So I did it manually and this is what I got:



"Cool! Yup. That's the best." I thought.

"But I should probably be sure there isn't something bester."

I did a little looking around and eventually I found a function...a special, magical function.

Real Harry Potter stuff.

And bam! Pow!




"Wow! That's the Bestest! I've shrunk Jing to 29 MB of memory!"

That's impressive, especially for a multimedia .NET application.

I was pleased with myself, but unfortunately, it wasn't true.

As I have stated in this article, only looking at 'Mem Usage' can be misleading.

What I really wanted to look at was the Virtual Memory Size ('VM Size' in XP or 'Commit Size' on Vista). That would more accurately reflect the affect my code changes were having.

If we look at Virtual Memory Size, we can see the fuller story of my improvements, and reveal the true result of the amazing memory shrinking function.



Good Jing (poorly managed memory):





Better Jing (better memory management):






Best Jing (better memory management and manual garbage collection):





Bester Jing? (better memory management, manual garbage collection and magic (Jinguloso! with wand flick)):





Now, I think comparing these numbers directly, requires a big lump of salt, because the .NET framework is managing the memory. But I think the expansive differences here make it validish to do.

So, cleaning up my poor memory management gained me about 167 MB!

167MB...wow...how embarrassing.

Attempting to do my own garbage collection got me another 32 MB.

But at what cost?

Garbage collection has to stop the entire application and is CPU intensive. And when done manually, it has to be called twice to be 'sure' it worked.

Lastly, my special, magical function resulted in a HUGE 103 MB savings in Mem Usage even after the other 'improvements'!

But it didn't do anything to reduce winJings actual memory size (You can clearly see why the Mem Usage is not the column to watch for memory leaks).

So what did the special, magical function do?

It forced Jing out of RAM and into paged memory. It essentially forces the Mem Usage to be as small as possible, but Jing's actual memory size is unchanged.

So, it doesn't make Jing any smaller.

However, that doesn't mean it's not useful.

It is still good to take up less RAM when you aren't using it. The OS actually calls this magic function when applications are minimized to make room in case any foregrounded applications need it.

Jing, however, is never minimized. It's always there, even when you aren't using it. Because of this, we'll be looking into possibly calling this function in future releases. But we'd only do so if we find it actually improves system performance and is safe.

We won't call it just to fake people out and make Jing's memory size look smaller. :)

As for garbage collection, we decided it's better to let .NET do what it's designed to do, keep an eye on our memory management and try to explain what is going on to users who inquire why a 'light, simple sharing app' is taking up 200MB of Mem Usage.

So, in the end, I only improved our memory management. But it should be a huge improvement. And we'll continue looking for other improvements as we try to make Jing as lean and mean as possible.

have a good day,
bill 'I think I'll make my own 29 MB build of Jing...it just looks so cool…ignorance is bliss' scanlon

Share Submit link to Del.icio.us | Submit to Digg Digg This | Submit to Reddit Reddit

April 15, 2008

Jing for Windows - Version 1.5

Posted on Tuesday April 15, 2008 by Bill Scanlon

Hiya.

Here's the faster, leaner Jing for Windows!

Here's what this update contains:

  • Capture selection should start more quickly
  • History should be open more quickly
  • Memory 'leaks' cleaned up
  • Over all memory usage decreased
  • Automatic selection of 'sub windows' restored

You can download it here.

NOTE: There is no corresponding Jing for Mac update.

Share Submit link to Del.icio.us | Submit to Digg Digg This | Submit to Reddit Reddit

April 22, 2008

Jing and The Mega Huge Email Attachment

Posted on Tuesday April 22, 2008 by Mike Curtis

Have you ever been on the receiving end of a forwarded email you’ve already seen with the 1+ MB photo attachment? You know, the funny kittens or the neighbor’s new granddaughter (and they also have a new 10 megapixel camera apparently)?

Well, I made a rough video a while back that was inspired after receiving an email with numerous huge attachments of versions of the photo you’ll see at the end of the video. While it was kind of funny, it was extra annoying because I was not on a high-speed network at the time. I’d would have rather had a Jing hyper link so I could look at it if I wanted to, or just save it for later.

Jing conquers large email attachments video (1:09)

Share Submit link to Del.icio.us | Submit to Digg Digg This | Submit to Reddit Reddit

April 2008 Archives

This page contains all entries posted to The Jing Blog in April 2008. They are listed from oldest to newest.


Previous archive:
March 2008

Next archive:
May 2008


All recent entries can be found on the main page or by looking through the archives.