Virtual Console v0.1 alpha

Whilst this deslet is great, the response time is very bad, i understand you can reduce this but it has a detrimental effect on CPU load. Do you think the desklet will be more responsive in the future?

#282699

Cool program

But i need help with a problem.

I want the size 500X216 so i changed it to that size

but everytime i restart avedesk or Pc the old big size is back

How can i save the Size , since it dosnt seem to save size?

i think saving the size settings would be important

#283275

Whilst this deslet is great, the response time is very bad, i understand you can reduce this but it has a detrimental effect on CPU load. Do you think the desklet will be more responsive in the future?

Unfortunately each time the desklet appearance must change (i.e. each time the text in the console changes) the whole desklet must be repainted and the updated image must be sent to AveDesk. And this takes time... The desklet won't be faster in the future unless AveDesk implements some kind of faster update path for desklets that need to be updated often like this one.

#283371

Unfortunately each time the desklet appearance must change (i.e. each time the text in the console changes) the whole desklet must be repainted and the updated image must be sent to AveDesk. And this takes time... The desklet won't be faster in the future unless AveDesk implements some kind of faster update path for desklets that need to be updated often like this one.

Actually, AveDesk will employ a speedy mode if the following conditions are met:

  • There is no background image. If you need one, blit it yourself.
  • There is no overlay but a series of DeskletSetImage(m_hWnd, img, FALSE);
  • There is no scaling required because the GDI+ image passed in img is the same size as the desklet width and height is.
  • There is no rotation, alpha or colorization adjustment within avedesk. If you need one of these, do them yourself.
  • Also speed dramatically improves if you always reuse the same image; Avoid img = new Image(width, height) in your update loop at all costs.

If the first four conditions are met, AveDesk will pass your image verbatim to the layered window with the well known UpdateLayeredWindow() API.

Another point is that performance suffers if the layered window is above 200 x 200 pixels - in that case, the following strategy may help:

Prerender all 256 characters to a total of 256 8x8 pixel (or whatever size specified) bitmaps.

Copy these bitmaps indexed with the console screen buffer onto your reuse-canvas. Do avoid all stretching, scaling and partial blitting (therefore 256 small instead of one large font image).

Employing these techniques, my vuMeter desklet did a happy 20 fps on a 512x256 pixel scheme...

#283379

Herd, thanks for the insights. Currently all conditions but the second one are met by VirtualConsole. I'll see if I can avoid to set the overlay.. this means I'll have to compose background images by myself, but hopefully I'd get faster rendering when not using a background image.

I'll consider the tip of pre-rendering text characters, sounds pretty obvious although I didn't think of it. Actually I had never used GDI+ before (and I haven't strong experience with GDI), so I knew I could miss some basic optimizations. BTW I couldn't use GDI+ for text rendering because it doesn't support OEM fonts (which are often the best choice for a console).

I hope I can spend some time for VC soon! ;)

#284265

Sorry to interrupt

i would like to ask how to set the path?

i placed this in d: and i want to launch cgywin in c:

what should i do?

#286216

Sorry to interrupt

i would like to ask how to set the path?

i placed this in d: and i want to launch cgywin in c:

what should i do?

got to the desklet properties, select "Console settings" and there you can set the command line and the start directory.

#286218

got to the desklet properties, select "Console settings" and there you can set the command line and the start directory.

yes i am there

but no matter i type c:cgywin or %c:cgywin% in start path

it still the same :confused:

#286235

yes i am there

but no matter i type c:cgywin or %c:cgywin% in start path

it still the same :confused:

maybe what you want is in c:cygwinbin ?

in that case consider adding c:cygwinbin to the PATH environment variable.

#286244

Sorry to top this, but was there ever an update released that dealt with the lag issues?

#310098

Sorry to top this, but was there ever an update released that dealt with the lag issues?

No update yet, sorry. :slant:

#310593

Ciekawe jak to działa ?

#312817

Say what......?

#312956

Will we be seeing an update for AveDesk 1.3 support, as I find when i'm choosing font and colour and try to apply my settings, avedesk just crashes.

edit: err its stopped crashing :confused:

#328501

damn this is pimp. thanks for sharing

#328504

I'm having a problem

I add the console and set it as show case, however if I quit then reopen Avedesk then I get an AveDesk 1.3 in my TaskBar.

consoleissue.jpg

If I remove the console desklet then it dissapears.

#334682

i love this thing so much... but i was wondering can it use more fonts since it doesnt seem to find all the fonts in the windows/fonts/ directcory. And also can you have it so that its... em how do i put this... rather than the command repsonse coming down have it appearing above where you typed? that way i can have it at the bottom or top of the screen and keep it inconspicious :)

#351394

the answer to the first question is no: you can only use monospaced fonts (it was written somewhere in this thread or in the desklet documentation). Edit: here

about the second - I don't understand the question :slant:

#351396

ok well you typed a command say 'dir' and it lists the files and subdirectories below that.

like

->dir

new folder

file.txt

etc...

->_

well can you have so that you go 'dir' and it appears abover where you typed

like

->_

etc

file.txt

new folder

->dir

eg the text moves upwards instead of down

#351398

ok, not possible at the moment, and I don't know if Polo is still developing this. You can try to make your console "inconspicuous" making it slide out of the screen when not used, leaving out only the last line

#351401

Ah well then that can do just as well! Yhanks for the speedy replies :D Hope development on this goes on as I think it's a awesome tool(pretty interface to a tool) :P

#351402

Any chance we can get a skinnable border on this beast? =-O

#354489

Just wanna say three words: a - we - some

#362834

Hi people!

I'm glad to see there is still someone using this desklet. When AD 1.3 was released I promised Andreas to release a new version of Virtual Console, but it's not easy for me to find enough spare time to continue development. This doesn't mean the desklet is dead, however... I'll make a new release as soon as possible. Thanks for your patience!

Now two quick answers:

1) about non-monospaced fonts. A console's buffer is a rectangular matrix where each cell contains a character. This implies that every cell must be fixed in width and height. While it would be possible to render variable-width characters centering them into cells, I fear it would look quite innatural. I'll make some experiments on that.

2) about the "upside-down" view: it is pretty straightforward for me to just invert the sequence of rows, but are you sure it wouldn't be too confusing? What happens when you launch an application that requires a well-defined geometry as, for example, a text editor? Anyway this is another feature that could be implemented as optional.

Cheers,

Marco

#365710

woot woot! glad to see you're still working on this. i use it every single day at home and at work. thx!

#365774