Menu

#164 2.0's transparency causes slowness

open-fixed
nobody
None
1
2011-02-14
2007-05-21
Andrew
No

In 1.42, transparency isn't a problem, but in 2.0 (even in the latest build at this time, 131), it causes a major slowdown. This is true with alpha as well as color key transparency.
Why is this, will it be fixed soon, and if so, when?

Discussion

  • Marko Bozikovic

    Marko Bozikovic - 2007-05-21

    Logged In: YES
    user_id=16767
    Originator: NO

    This is strange, since I haven't noticed slowdown on several boxes I use (my main desktop box is almost 5 years old now :)

    2.0 does use a painting algorithm that's a bit heavier than 1.x version, but it was necessary.

    What's your configuration?

     
  • Marko Bozikovic

    Marko Bozikovic - 2007-05-21
    • priority: 5 --> 1
     
  • Andrew

    Andrew - 2007-05-21

    Logged In: YES
    user_id=1664991
    Originator: YES

    It slows Console, but not the machine overall.
    Config w/ transparency enabled:
    <?xml version="1.0"?>
    <settings>
    <console change_refresh="10" refresh="50" rows="69" columns="157" buffer_rows="1000" buffer_columns="0" shell="" init_dir="C:\Documents and Settings\backup\" save_size="0">
    <colors>
    <color id="0" r="0" g="0" b="0"/>
    <color id="1" r="0" g="0" b="128"/>
    <color id="2" r="0" g="150" b="0"/>
    <color id="3" r="0" g="150" b="150"/>
    <color id="4" r="170" g="25" b="25"/>
    <color id="5" r="128" g="0" b="128"/>
    <color id="6" r="128" g="128" b="0"/>
    <color id="7" r="192" g="192" b="192"/>
    <color id="8" r="128" g="128" b="128"/>
    <color id="9" r="0" g="100" b="255"/>
    <color id="10" r="0" g="255" b="0"/>
    <color id="11" r="0" g="255" b="255"/>
    <color id="12" r="255" g="50" b="50"/>
    <color id="13" r="255" g="0" b="255"/>
    <color id="14" r="255" g="255" b="0"/>
    <color id="15" r="255" g="255" b="255"/>
    </colors>
    </console>
    <appearance>
    <font name="Lucida Console" size="10" bold="0" italic="0" smoothing="0">
    <color use="0" r="128" g="0" b="128"/>
    </font>
    <window title="Console" icon="" use_tab_icon="1" show_cmd="1" show_cmd_tabs="1" use_tab_title="1" use_console_title="0" trim_tab_titles="0"/>
    <controls show_menu="1" show_toolbar="0" show_statusbar="1" show_tabs="1" hide_single_tab="0"/>
    <styles caption="1" resizable="1" taskbar_button="1" border="0" inside_border="0" tray_icon="1"/>
    <position x="0" y="-7" dock="0" snap="1" z_order="0" save_position="1"/>
    <transparency type="1" active_alpha="200" inactive_alpha="64" r="0" g="0" b="255"/>
    </appearance>
    <behavior>
    <copy_paste copy_on_select="0" no_wrap="1" trim_spaces="1" clear_on_copy="0" copy_newline_char="0"/>
    <mouse_drag on="1" inverse_shift="1"/>
    </behavior>
    <hotkeys use_scroll_lock="0">
    <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="settings"/>
    <hotkey ctrl="0" shift="0" alt="0" extended="0" code="112" command="help"/>
    <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="exit"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="112" command="newtab1"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="113" command="newtab2"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="114" command="newtab3"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="115" command="newtab4"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="116" command="newtab5"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="117" command="newtab6"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="118" command="newtab7"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="119" command="newtab8"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="120" command="newtab9"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="121" command="newtab10"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="49" command="switchtab1"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="50" command="switchtab2"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="51" command="switchtab3"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="52" command="switchtab4"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="53" command="switchtab5"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="54" command="switchtab6"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="55" command="switchtab7"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="56" command="switchtab8"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="57" command="switchtab9"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="48" command="switchtab10"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="1" code="39" command="nexttab"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="1" code="37" command="prevtab"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="87" command="closetab"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="82" command="renametab"/>
    <hotkey ctrl="1" shift="0" alt="0" extended="0" code="67" command="copy"/>
    <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="clear_selection"/>
    <hotkey ctrl="0" shift="1" alt="0" extended="1" code="45" command="paste"/>
    <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="scrollrowup"/>
    <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="scrollrowdown"/>
    <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="scrollpageup"/>
    <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="scrollpagedown"/>
    <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="scrollcolleft"/>
    <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="scrollcolright"/>
    <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="scrollpageleft"/>
    <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="scrollpageright"/>
    <hotkey ctrl="0" shift="0" alt="0" extended="0" code="0" command="dumpbuffer"/>
    </hotkeys>
    <mouse>
    <actions>
    <action ctrl="0" shift="0" alt="0" button="1" name="copy"/>
    <action ctrl="0" shift="0" alt="0" button="1" name="select"/>
    <action ctrl="0" shift="1" alt="0" button="3" name="paste"/>
    <action ctrl="1" shift="0" alt="0" button="1" name="drag"/>
    <action ctrl="0" shift="0" alt="0" button="2" name="menu"/>
    </actions>
    </mouse>
    <tabs>
    <tab title="Console">
    <console shell="" init_dir=""/>
    <cursor style="5" r="0" g="255" b="0"/>
    <background type="0" r="0" g="0" b="0">
    <image file="" relative="0" extend="0" position="0">
    <tint opacity="0" r="0" g="0" b="0"/>
    </image>
    </background>
    </tab>
    <tab title="cmd">
    <console shell="cmd.exe" init_dir=""/>
    <cursor style="0" r="255" g="255" b="255"/>
    <background type="2" r="0" g="0" b="0">
    <image file="" relative="0" extend="0" position="0">
    <tint opacity="65" r="0" g="0" b="0"/>
    </image>
    </background>
    </tab>
    </tabs>
    </settings>
    Running XP with an Intel Celeron at 1200MHz. It's a bit on the low end, but there are plenty lower.

     
  • Nobody/Anonymous

    Logged In: NO

    I see the same behavior. It does not happen 100% of the time. However, unlike the comment from the other person, the CPU does get pegged if you're doing anything with console (moving the window, typing inside the window).

     
  • Andrew

    Andrew - 2007-05-24

    Logged In: YES
    user_id=1664991
    Originator: YES

    I thought I clarified when I made the last comment, but I guess I have to make it even more clear.
    With transparency enabled, Console takes more time to do its tasks. Characters take almost a full second to be drawn when typed, and output lines are noticeably drawn (I can keep up with the lines sometimes). No other programs are noticeably affected. For me, this happens 100% of the time I have transparency enabled.

     
  • Marko Bozikovic

    Marko Bozikovic - 2007-05-30

    Logged In: YES
    user_id=16767
    Originator: NO

    I don't see anything wrong with your config.

    As I said, Console 2 paints its screen a bit differently than Console 1.x. There are several layers (background, text, selection) that are painted onto the window. Console 1.x painted everything on a single layer. This change was necessary in order to support some features.

    It could be that your card has some issues with blitting or layered windows (alpha/color key transparency), since I tested Console 2 even on Windows under VMWare and didn't notice major slowdown as you do...

    Could you test it with another video card?

     
  • Andrew

    Andrew - 2007-05-31

    Logged In: YES
    user_id=1664991
    Originator: YES

    I am using an old version of my card's drivers (on purpose). I could test Console with the latest drivers installed.

     
  • Roger Pack

    Roger Pack - 2008-11-08

    I wonder if transparency causes the periodic "pauses" I get with console2 these days [and had transparency enabled]
    --turning on the console [so it's visible] and alt-tabbing to it then back caused the screen to refresh immediately [and leave its paused state].

     
  • Kirill

    Kirill - 2011-02-13
    • status: open --> pending-fixed
     
  • Kirill

    Kirill - 2011-02-13

    There was a lot of painting optimizations since 2008. Could you please try the latest version?

     
  • Andrew

    Andrew - 2011-02-14

    It still has a noticeable performance hit, but it is far from unusable. It is much, much faster than before.

     
  • Andrew

    Andrew - 2011-02-14
    • status: pending-fixed --> open-fixed
     

Log in to post a comment.