Qemu overlay image size limit - virtualization

I created a qemu ubuntu vm. Now I use overlay images as a quick way of creating vm's as needed.
But what is the size limit for an overlay image? Is it the size of the "base" image? Or can it grow as big as the host OS allows it?

Just ran into a similar situation. I'm running a Windows 8.1 VM with overlay images. The base image is the one that sets the disk size. The overlay will have as much space as the base image was setup to have.
The base is the one that has to grow if you run out of space. The overlay take the disk size information from the base.
Unfortunately, I haven't been able to find a way for the overlay to get the update disk size if the base is modified. So I had to either start over from the base image and make a new overlay or merge down the the overlays, increase disk size, and then create a new overlay from the new base.
This page is helpful in understanding overlays: https://kashyapc.fedorapeople.org/virt/lc-2012/snapshots-handout.html
Here is an alternative solution to creating a copy of the entire overlay chain and creating a new base without modifying your existing chain:
http://kashyapc.com/2014/07/06/live-disk-migration-with-libvirt-blockcopy/

Related

Reducing Flash file size in KB?

I have a Flash file that I need to reduce the size of.
The reason that I need to reduce its size is that I will need to convert this into an iPhone app.
currently it only has 2 buttons and 2 TLF textfileds on the stage one, layer one and the size of the file is 355KB.
I have also placed the code on layer 2.
is there anyway to reduce the size of it so I won't have problems when publishing and sending for app store?
Thanks
The biggest portion of that file size will be related to TLF. TLF (Text-Layout-Framework) is huge and is generally not recommended on mobile (as it has pretty high cpu usage).
If you're not using any TLF specific features, then it would be wise to change your text fields to use classic text instead (DF3).
Beyond TLF, make sure you're using vector objects instead of bitmaps wherever you can as that will drastically reduce file size. If you are using bitmaps, you can play around with the compression settings to optimize file size further. You can do this globally in the Publish Settings (JPEG Quality) or individually on a graphics properties menu.
One note with Vector graphics and mobile, simple vectors will run ok, but complex vectors will run terribly. Make sure to set cacheAsBitmap = true; on any complex (or even all) vectors to improve performance. OR in FLashPRO, click on a movieClip and in the properties panel, go to the "Display" twirl down, and set cache as bitmap in the Render setting.

Can I add a custom image quality setting for new size?

I'm creating a new image size for use as a featured image
add_image_size('full-width', 1920, 640, true);
I'm also using this together with a parallax plugin, which has the image set as a data- attribute, and get's loaded as the page loads.
I want to use the src attribute and apply a much lower quality version of the image (something basic to at least show up on slow connections until the main version has loaded).
I can see a function to adjust the JPEG compression across the entire site, but I want to just add a new image size, of the same dimensions as above, but with much much lower quality.
How can I do this (without having to manually upload each version of my images (I have nearly 1,800 images in my library).
Any ideas?

What's the best way to use big textures (2048*1536) in Unity3d with NGUI on ios?

I'm using Unity3d (4.3.1) and NGUI for creating an 2d iOS (iPad) app. Also I need to use a lot of full screen images (about 100 images with size 2048x1536), for Gallery for example.
Now I'm using them with GUI type, override for iPhone with max size 2048 and compression quality: normal. And I'm using a UITexture with Unlit/Transparent shader to show them.
However, after about 40 images in the project XCode returns the terminated due to memory error. So the question is, what type of images do I need, and with which preferences to make them work?
I'm using iPad 3 as a test device with XCode 5.1.1. I'll be thankful for any help!
Also I need to use a lot of full screen images (about 100 images with size 2048x1536), for Gallery for example.
I think your 2048x2048 size images use a very huge memory area. Basically, 2048 image use 16MB memory. So, this case need to use about a 1600MB memory! Normal application don't over about 200 MB.
So, I think you need to be reduce using a memory:
Remember that this texture is going to be expand 2048x2048 by unity.( http://www.opengl.org/wiki/NPOT_Texture ) So, if you are going to reduce file size to 1500x1000, your application still use 2048x2048 image. But if you can reduce file size to 1024x1024, do it. 1024 image just use 4 MB memory.
If you can use texture compression. Use it. PVRTC 4 bit ( https://docs.unity3d.com/Documentation/Manual/ReducingFilesize.html ) compression is make file size 1/8 than true color. Also memory size is going to reduce.(maybe reduced to half)
If your application don't display all images, load image dynamically. Use thumb nail.
Good luck:D
If you want to make a gallery-like app to render photos maybe you can try a different approach:
create two large editable textures and fill texels with image data (it must be editable otherwise you will no have access to write directly image data into them).
if you still have memory issues or if you want to use lower memory you can use several smaller textures as tiles. You can render then image parts to each smaller texture. Remember to configurate correctly the texture borders or so not use border texels to avoid wrapping problems.
Best way is to use a smaller texture. In an ipad you will need a magnifying glass to really appreciate the difference between 1024x1024 and larger textures. Remember an ipad screen is smaller (7"~10") than a computer one and with filtering enabled is really hard to tell the difference.
If you still need manager such a large texture for some other reason (zooming or similar) I recommend you one of the following approaches:
split the texture into layers with alpha channel (transparency): usually backgrounds can be rendered with lower resolutions.
split also the texture into blocks: usually most textures have repeating patterns.
use compression.
Always avoid use such large textures if possible.

Drawing a very large bit map

I need to generate a very large bitmap that could be several times the size of my iPad screen. I want to find the best way of drawing it.
I can't simply draw the whole image in a single bitmap context, as that will consume too much memory. Is it possible to draw small chunks of the image in memory the append it to an existing image file? Or Am I better off generating several small image files?
You will need to tile your image in various resolutions that meet your needs. Here is a link that describes CATiledLayer and how to implement it.

(ActionScript 3) Generate low res thumbnails

I am trying to create an image gallery similar to Androids "Gallery" where it is a horizontal scrolling list of images. I am doing this with an HBox and Bitmap objects wrapped in a UIComponent. The problem is I am trying to do this for mobile and having many full size images open in memory causes problems. I have been trying to have the images load right as they are scrolling into view and unload once they are out of view, but the loading/unloading while scrolling requires too much cpu and causes a very choppy and poor UI.
What I am looking to do is be able to load several low quality versions of the images in memory so I dont have to do as much loading/unloading. I have tried decreasing the height/width but it dosnt seem to have an effect on memory usage. Does anyone know an AS library or class that can help me?
Any help would be greatly appreciated.
Thank you
I don't know about what Griffin said is true or not but what I would do is take the bitmapdata and draw it into another bitmapdata object with the final height and width to what you want then use matrix to scale in the original image while you draw to the new bitmap.
Once you have the new bitmap made you can then delete and remove all references to the original bitmap which should allow it to be GCed.
If you go here you can read up on how to scale a matrix.
You can create new bitmapdatas of the size you desire, and use the bitmapdata.draw() function to make smaller thumbnails.
The trick is to use a transform matrix when you call draw to scale the image size down.
Here is teh link to the Matrix class:
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/Matrix.html
and here is teh link to bitmapData.draw()
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/BitmapData.html#draw()
If this is not 100% intuitive to you, I recommend making a simple swf that just takes an image
and then uses BitmapData.draw(myImage, myMatrix); to create a scaled down copy. Once you ahve it worked out with the right amount of scaling, you can copy it into you mobile app.
Changing the width and height doesn't mean much memory wise, since the same image file is being loaded.
Actionscript can't mainpulate the image files themselves, only the instance of the data in the flash app. (i.e. you can resample a bitmap data object all you like, but you still have the original file in memory).
You need some server side language to resize the images for you. Like PHP with the GD library.
Thank you for all the responses. I have been playing with this and there doesn't seem to be a difference is memory being used by AIR. I am looking for a way to keep a small, low res version of the image in memory, since having a few full res images in memory on a mobile device uses up all the resources.

Resources