Hacker News new | ask | show | jobs
by jcelerier 2246 days ago
> I mean I use vs code daily and don't think it's any less "snappy" than a native app. Quite the opposite really, Chromium's rendering engine is faster than most native cross platform toolkits.

it's definitely not. Just adding a `/*` at the top of a file takes a noticeable delay to update the whole text, while it's completely unnoticeable in e.g. QtCreator.

I just took this video on my screen, notice how everything lags in VS Code (left) in contrast with QtC (right) :

https://vimeo.com/410735827

Just look at the scrolling : super smooth on QtC, all janky on VSCode (I let my scrollwheel in free wheel mode in both cases) :

https://vimeo.com/410739729

What's worse, VS Code uses GPU for its rendering while QtCreator uses a software rasterizer, which should in theory perform less well (in practice, GPU font rendering is definitely not there yet). Both use the same backend for C++ syntax parsing (clang) so the problem is not there.

1 comments

> it's definitely not. Just adding a `/*` at the top of a file takes a noticeable delay to update the whole text, while it's completely unnoticeable in e.g. QtCreator.

Conversely, Qt Creator is rather anemic and featureless when compared with vscode. I mean, it doesn't even support very basic features such as editing yaml or json files, it barely supports any form of refactoring at all, doesn't support any form of project other than the old hardcoded C++ support piggybacking clang, etc.

Heck, supposedly Qt Creator's main build system is cmake, and it doesn't even allow you to add files to a project without having to hand-tweak CMakeLists.txt files.

Perhaps if Qt Creator offered a fraction of the features already provided by a free text editor such as vscode then we could start to compare sub-milisecond differences in paint times. Until then, unnoticeable differences in performance coupled with far more functionalities make it a non-starter.

I don't think any of this is relevant to rendering time.

> and it doesn't even allow you to add files to a project without having to hand-tweak CMakeLists.txt files.

I don't know any IDE which does this well and don't think that this is a solveable problem at all. e.g. where would a source file be added there ?

    set(COMMON_SOURCES a.cpp b.cpp ${SOME_OTHER_SOURCES})

    if(SOMETHING) 
      add_executable(foo WIN32 main1.cpp ${COMMON_SOURCES}) 
    else()
      add_executable(foo main2.cpp xyz.cpp ${COMMON_SOURCES})
    endif()
    
    if(FOOBAR)
      target_sources(foo PUBLIC foobar.cpp PRIVATE baz.cpp)
    endif()
I've tried looking in VSCode to test where it would go but cannot find a command that would add a new file to a CMakeLists. File > New file > save as .cpp definitely does not and I don't see a right-click option that would do it.

> , it barely supports any form of refactoring at all,

c'mon, here's my experience with Qt Creator when comparing with VS Code (with the C++ extension installed):

- vscode: https://vimeo.com/410950170

- qtc: https://vimeo.com/410950345

I'll agree that QtC (https://doc.qt.io/qtcreator/creator-editor-refactoring.html) has less than for instance CLion in the refactor department, but than VSC? Maybe with ten additional extensions or so ? But qtc works from the get-go without needing to go fetch plug-ins elsewhere.

Note also how QtC helpfully tells me bugs and issues in my code along me typing, without making typing slower.

In contrast, I really have trouble concentrating with VSC (and also JetBrains IDEs & VC++) operating latency (and that's on a 8c/16t top-end desktop i7).