[w3m-dev 03732] Re: scroll() is slow ?

* configure (use_raw_scroll): added
	(config.h) use_raw_scroll
* config.h.dist (USE_RAW_SCROLL): added
* display.c (displayBuffer): ifdef USE_RAW_SCROLL
* proto.h (scroll): ifdef USE_RAW_SCROLL
	(rscroll): ditto
	(need_clrtoeol): if 0
	(terms.c): if 0 need_clrtoeol
	(scroll_raw): ifdef USE_RAW_SCROLL
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
This commit is contained in:
Fumitoshi UKAI
2003-02-06 17:15:04 +00:00
parent 254eeb195f
commit fbc26e9c4b
6 changed files with 43 additions and 7 deletions

View File

@@ -1,3 +1,16 @@
2003-02-07 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
* [w3m-dev 03732] Re: scroll() is slow ?
* configure (use_raw_scroll): added
(config.h) use_raw_scroll
* config.h.dist (USE_RAW_SCROLL): added
* display.c (displayBuffer): ifdef USE_RAW_SCROLL
* proto.h (scroll): ifdef USE_RAW_SCROLL
(rscroll): ditto
(need_clrtoeol): if 0
(terms.c): if 0 need_clrtoeol
(scroll_raw): ifdef USE_RAW_SCROLL
2003-02-06 Fumitoshi UKAI <ukai@debian.or.jp> 2003-02-06 Fumitoshi UKAI <ukai@debian.or.jp>
* NEWS: rc: decode_url * NEWS: rc: decode_url
@@ -7087,4 +7100,4 @@ a * [w3m-dev 03276] compile error on EWS4800
* release-0-2-1 * release-0-2-1
* import w3m-0.2.1 * import w3m-0.2.1
$Id: ChangeLog,v 1.739 2003/02/05 16:45:57 ukai Exp $ $Id: ChangeLog,v 1.740 2003/02/06 17:15:04 ukai Exp $

View File

@@ -54,6 +54,11 @@
*/ */
#undef MENU_THIN_FRAME #undef MENU_THIN_FRAME
/*
* Use raw scroll
*/
#undef USE_RAW_SCROLL
/* /*
*/ */
#undef TABLE_EXPAND #undef TABLE_EXPAND

8
configure vendored
View File

@@ -1,5 +1,5 @@
#!/bin/sh #!/bin/sh
# $Id: configure,v 1.96 2003/01/29 17:10:25 ukai Exp $ # $Id: configure,v 1.97 2003/02/06 17:15:10 ukai Exp $
# Configuration. # Configuration.
# #
@@ -883,6 +883,7 @@ def_param use_bufinfo n
def_param use_egd y def_param use_egd y
def_param enable_remove_trailingspaces n def_param enable_remove_trailingspaces n
def_param menu_thin_frame n def_param menu_thin_frame n
def_param use_raw_scroll n
def_param emacs_like_lineedit $include_opt def_param emacs_like_lineedit $include_opt
def_param vi_prec_num $include_opt def_param vi_prec_num $include_opt
def_param label_topline $include_opt def_param label_topline $include_opt
@@ -2315,6 +2316,11 @@ $def_enable_remove_trailingspaces
*/ */
$def_menu_thin_frame $def_menu_thin_frame
/*
* Use raw scroll
*/
$def_use_raw_scroll
/* /*
*/ */
$def_table_expand $def_table_expand

View File

@@ -1,4 +1,4 @@
/* $Id: display.c,v 1.62 2003/02/05 16:43:57 ukai Exp $ */ /* $Id: display.c,v 1.63 2003/02/06 17:15:11 ukai Exp $ */
#include <signal.h> #include <signal.h>
#include "fm.h" #include "fm.h"
@@ -417,6 +417,7 @@ displayBuffer(Buffer *buf, int mode)
} }
if (mode == B_FORCE_REDRAW || mode == B_SCROLL || mode == B_REDRAW_IMAGE || if (mode == B_FORCE_REDRAW || mode == B_SCROLL || mode == B_REDRAW_IMAGE ||
cline != buf->topLine || ccolumn != buf->currentColumn) { cline != buf->topLine || ccolumn != buf->currentColumn) {
#ifdef USE_RAW_SCROLL
if ( if (
#ifdef USE_IMAGE #ifdef USE_IMAGE
!(activeImage && displayImage && draw_image_flag) && !(activeImage && displayImage && draw_image_flag) &&
@@ -439,7 +440,9 @@ displayBuffer(Buffer *buf, int mode)
} }
redrawNLine(buf, n); redrawNLine(buf, n);
} }
else { else
#endif
{
#ifdef USE_IMAGE #ifdef USE_IMAGE
if (activeImage && if (activeImage &&
(mode == B_REDRAW_IMAGE || (mode == B_REDRAW_IMAGE ||

View File

@@ -1,4 +1,4 @@
/* $Id: proto.h,v 1.88 2003/02/05 16:44:00 ukai Exp $ */ /* $Id: proto.h,v 1.89 2003/02/06 17:15:13 ukai Exp $ */
/* /*
* This file was automatically generated by version 1.7 of cextract. * This file was automatically generated by version 1.7 of cextract.
* Manual editing not recommended. * Manual editing not recommended.
@@ -449,9 +449,13 @@ extern void setbcolor(int color);
#endif /* USE_COLOR */ #endif /* USE_COLOR */
extern void refresh(void); extern void refresh(void);
extern void clear(void); extern void clear(void);
#ifdef USE_RAW_SCROLL
extern void scroll(int); extern void scroll(int);
extern void rscroll(int); extern void rscroll(int);
#endif
#if 0
extern void need_clrtoeol(void); extern void need_clrtoeol(void);
#endif
extern void clrtoeol(void); extern void clrtoeol(void);
extern void clrtoeolx(void); extern void clrtoeolx(void);
extern void clrtobot(void); extern void clrtobot(void);

View File

@@ -1,4 +1,4 @@
/* $Id: terms.c,v 1.43 2003/01/10 16:16:45 ukai Exp $ */ /* $Id: terms.c,v 1.44 2003/02/06 17:15:16 ukai Exp $ */
/* /*
* An original curses library for EUC-kanji by Akinori ITO, December 1989 * An original curses library for EUC-kanji by Akinori ITO, December 1989
* revised by Akinori ITO, January 1995 * revised by Akinori ITO, January 1995
@@ -398,7 +398,10 @@ void clear(), wrap(), touch_line(), touch_column(int);
void switch_wchar(FILE *); void switch_wchar(FILE *);
void switch_ascii(FILE *); void switch_ascii(FILE *);
#endif #endif
void need_clrtoeol(void), clrtoeol(void); /* conflicts with curs_clear(3)? */ #if 0
void need_clrtoeol(void);
#endif
void clrtoeol(void); /* conflicts with curs_clear(3)? */
int write1(char); int write1(char);
@@ -1444,6 +1447,7 @@ clear(void)
CurrentMode = C_ASCII; CurrentMode = C_ASCII;
} }
#ifdef USE_RAW_SCROLL
static void static void
scroll_raw(void) scroll_raw(void)
{ /* raw scroll */ { /* raw scroll */
@@ -1535,6 +1539,7 @@ rscroll(int n)
} }
} }
} }
#endif
#if 0 #if 0
void void