@@ -168,7 +168,7 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer<Ch
168
168
private readonly codeBlockModelCollection : CodeBlockModelCollection ,
169
169
overflowWidgetsDomNode : HTMLElement | undefined ,
170
170
@IInstantiationService private readonly instantiationService : IInstantiationService ,
171
- @IConfigurationService configService : IConfigurationService ,
171
+ @IConfigurationService private readonly configService : IConfigurationService ,
172
172
@ILogService private readonly logService : ILogService ,
173
173
@IContextKeyService private readonly contextKeyService : IContextKeyService ,
174
174
@IThemeService private readonly themeService : IThemeService ,
@@ -798,6 +798,9 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer<Ch
798
798
private getNextProgressiveRenderContent ( element : IChatResponseViewModel ) : { content : IChatRendererContent [ ] ; moreContentAvailable : boolean } {
799
799
const data = this . getDataForProgressiveRender ( element ) ;
800
800
801
+ // An unregistered setting for development- skip the word counting and smoothing, just render content as it comes in
802
+ const renderImmediately = this . configService . getValue < boolean > ( 'chat.experimental.renderMarkdownImmediately' ) === true ;
803
+
801
804
const renderableResponse = annotateSpecialMarkdownContent ( element . response . value ) ;
802
805
803
806
this . traceLayout ( 'getNextProgressiveRenderContent' , `Want to render ${ data . numWordsToRender } at ${ data . rate } words/s, counting...` ) ;
@@ -811,7 +814,7 @@ export class ChatListItemRenderer extends Disposable implements ITreeRenderer<Ch
811
814
let moreContentAvailable = false ;
812
815
for ( let i = 0 ; i < renderableResponse . length ; i ++ ) {
813
816
const part = renderableResponse [ i ] ;
814
- if ( part . kind === 'markdownContent' ) {
817
+ if ( part . kind === 'markdownContent' && ! renderImmediately ) {
815
818
const wordCountResult = getNWords ( part . content . value , numNeededWords ) ;
816
819
this . traceLayout ( 'getNextProgressiveRenderContent' , ` Chunk ${ i } : Want to render ${ numNeededWords } words and found ${ wordCountResult . returnedWordCount } words. Total words in chunk: ${ wordCountResult . totalWordCount } ` ) ;
817
820
numNeededWords -= wordCountResult . returnedWordCount ;
0 commit comments