Graphics Tablet Lag when in Texture Paint mode in Blender 3.0 #93796
Labels
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset System
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Viewport & EEVEE
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Asset Browser Project
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Module
Viewport & EEVEE
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Severity
High
Severity
Low
Severity
Normal
Severity
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
24 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#93796
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
System Information
Operating system: Windows-10-10.0.19042-SP0 64 Bits
Graphics card: NVIDIA GeForce GTX 1080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 466.27
Blender Version
Broken: version: 3.0.0, branch: master, commit date: 2021-12-02 18:35, hash:
f1cca30557
Worked: (2.92 and earlier)
Short description of error
[Texture paint mode lags when using a graphics tablet, not the case with a mouse.]
Exact steps for others to reproduce the error
[Create a new blender scene, delete the default cube and create a new sphere, unwrap the sphere, switch to paint mode and create a default 1024px by 1024px texture paint slot. Try texturing with a graphics tablet, and it will lag. It will not lag if texturing with a mouse]
[Based on the default startup or an attached .blend file (as simple as possible)]
Added subscriber: @YanSculpts
#95058 was marked as duplicate of this issue
Some extra information:
I tried this on blender 3.0 stable and 3.1 alpha, same issue. There is no lag in sculpt mode, or in vertex paint, only in texture paint.
I also tried it with two different computers and 2 different graphics tablet, a Huion and a XP pen one, again same issue.
Added subscribers: @PrototypeNM1, @iss
Changed status from 'Needs Triage' to: 'Needs User Info'
@YanSculpts can you make video that demonstrates this issue?
CC @PrototypeNM1
Here is a quick video demonstrating the lag and the blender file used in the video.
blender_texture_paint_lag.mp4
spheretestbug2.blend
Changed status from 'Needs User Info' to: 'Needs Triage'
Thank you for demo.
@YanSculpts is the issue present for both Wintab and Windows Ink? It is my suspicion the issue is only present for the former.
@PrototypeNM1 I just tried with both windows ink on and off, same issue.
Added subscriber: @Diogo_Valadares
Reducing the spacing size of the brush seems to drastically minimize the problem for me, I usually like to keep it at a lower value like 2% .
@Diogo_Valadares Yeah i noticed it as well but still considerably laggier than older versions, plus it doesn't make sense since it should be slower at lower space values not faster. (It slows down the mouse at lower values for example).
Okay so from a comment on twitter I just figured that you meant in the blender's preferences input? I didn't even know that option existed ><, i tried removing and adding windows ink through the tablets driver which didn't do anything for the lag.
Indeed as you have suspected, the issue is with wintab or automatic, if i set it to windows ink in Blender's preferences the issue is gone. Automatic in 2.9 works fine though.
Added subscriber: @NahuelBelich
i can't reproduce the problem using the sphere file in the comments, however im under linux ubuntu 20
3.2.0 Alpha, branch: master, commit date: 2022-01-31 07:09, hash:
a727692af7
Operating system: Linux-5.13.0-28-generic-x86_64-with-glibc2.31 64 Bits
Graphics card: NVIDIA GeForce GTX 1070/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 470.103.01
New Update: Still lagging :(
So when i tried switching the Tablet's API to windows ink it removed the lag but i lost pressure sensitivity with the tablet so unfortunately not a solution. Still can't figure out why it lags in versions 3.0 and above...
Added subscriber: @ChristophWerner
I'm able to reproduce the problem with all brush sizes on my Windows 10 System. Using Blender 3.0.1.
Same problem in 3.1. beta.
Same problem in 3.2 alpha.
The slower you paint, the more it seem to lag. Fast painting works fine.
By the way: The same behavior when sculpting.
Added subscriber: @CristianDinu
I can reproduce it on Windows 10, 10.0.19044 Build 19044.
With a Wacom Cintiq 16 tablet
Blender version 3.0.1
Update:
Disabling Windows Ink in Wacom Tablet properties app seems to solve the problem
Added subscriber: @lichtwerk
Changed status from 'Needs Triage' to: 'Needs Developer To Reproduce'
@PrototypeNM1 : does this mean you can confirm?
I don't have a Wacom tablet to test that theory but that workaround doesn't work with either Huoin or Wacom tablets, tested on both. Texturing is still unusable with tablets even on the most recent Blender version, as well as the sculpt and texture branches since 3.0.. :/
3 Things to keep in mind, the lag is most noticeable when painting at slower speeds with a tablet, and when the brush size isn't too small, and when pressure sensitivity is active of course (no point in using a tablet otherwise). The slower you paint, the crazier the lag will be.
Added subscriber: @Julian-Szigethy
Removed subscriber: @Julian-Szigethy
So a known issue with Wintab is that for some tablets it will saturate input with unchanging tablet events (pressure, x, and y position remain the same). That said, it's odd that fast vs slow pen movement would impact anything.
@lichtwerk Any idea who to ping to get an guess if "repeat, unchanging cursor/pressure" input could cause degenerative behavior for multiple drawing-like operators? It would either have to be from shared logic (in a util funtion or copy/pasted code) or be occurring at the WM level (I think I have a good read that it shouldn't be occurring in WM).
Added subscriber: @James-Aaron-Upton
I was having the same issue, and have seemingly solved it by disabling Windows Ink in the Wacom Pen Tablet Driver, with one additional step required -
On Windows 10 - type in Search bar "Turn flicks on and off".
On the pop-up that appears, uncheck "Use the pen button as a right-click equivalent" and uncheck "Use the top of the pen to erase ink"
This immediately made the Wacom stylus much more responsive in Texture Paint mode AND sculpting mode.
For whatever reason, Blender 3.x and Windows built in pen and touch screen settings do not play nicely together.
@James-Aaron-Upton Alternatively things are often fixed by using Windows built in pen and touch instead of Wintab (requires enabling Windows Ink in both the tablet driver and Blender preferences).
Either way, there are tons of tablet bugs that have various "fixes" related to Wintab/Windows Ink driver issues. unfortunately the one that works for one tablet is rarely guaranteed to work for another. It's better to investigate far enough to ensure the issue isn't caused by Blender itself.
I gave this a go, and still no fix. Again on multiple pcs, mac, Huion and Xp Pen tablets (i don't own a wacom).
Yeah I've tried every possible thing I can think of, and that has been proposed here, but no solution yet on my side. I failed to mention that the lag doesn't occur during sculpting, only when texture painting as I've showcased in the video i posted. I'm still using blender 2.9 because of this, hoping this will be fixed. Can't even make tutorials or courses on texturing with that issue ><...
Added subscriber: @FroggerGG
I found fix of this problem... it works for me and i think it must work for others. You just need to go in Preferences->Input And in Tablet tab just change Tablet API
This was mentioned here and on twitter. Changing that option doesn't fix it sadly (again speaking for Huoin and XP pen Tablets, not Wacom) The only setting that removes the lag is the one where you loose the pen sensitivity, which isn't a fix.
To properly test if there is lag, increase the size of the brush, if it is too small you won't notice the lag. Also paint slowly, if you are going too fast you will miss the lag as well.
I've had some people on twitter initially think it is a fix, but after following the instructions I gave they find that it still lags.
Doing this same test in versions pre 3.0 will not lag, which is why I believe the issue comes from Blender 3.x.
@PrototypeNM1
Update: I've tried the latest Blender 3.3 alpha build today, and this issue is still persistent. Texture painting with a tablet is extremely laggy with blender 3.x versions, not usable. Will this be looked into? It is a bit weird that a major issue like this isn't fixed yet since blender 3.0.
If you need video demonstrations I would be happy to provide some. I've done so much tests, testing, different pcs, different tablets and options, I even asked about this on twitter and many users are experiencing the same issue with no apparent solution.
Added subscriber: @PierreSchiller
Texture paint does lag as you've demonstrated in your video, in Blender 3.2 alpha.
If you resize the UV editor, the Image editor is in Paint mode, and the Texture Paint mode is active: Painting a simple UV
slows down the entire Ui (not responsive). It also seems there's a lag in the way the ram is handled because
when different brushes (line, spacing, etc...) are used, only partial strokes are "painted".
Added subscriber: @aiquiti
Added subscriber: @TioMegamanX
Windows 10
Wacom Intuos Tablet
Using Blender 3.1.2, massive lag (as in, I do a stroke, until I take the pen off the tablet it applies whatever I did on it), seems to be fixed by changing into Windows Ink, pressure sensitivity seems to be working properly but I can't have more than viewport at a time if I want to stop the lag.
Added subscriber: @Louis
Added subscriber: @kopias
Huion Canvas Pro Painting Display - today's Blender 3.3 beta
tried all the workarounds - there is still a lag
Yeah i tried this on 3.3 stable, and still lag. I have to texture using blender versions past 3.x, I'm surprised this major issue is not being addressed considering it is present since the first blender 3.0..
Added subscriber: @JulienKaspar
@lichtwerk @PrototypeNM1 Any news on this? Communication on this task stagnated for a while and I'm not sure what the status of this is?
@JulienKaspar No status update, I'll have more time starting October-ish to investigate. Looking back over the video though it's surprising that the brush ring around the cursor is updating while the texture painting remains outdated. I'd assume that both the ring and the texture paint would lag similarly (like it does in this video ). Is texture painting async under heavy CPU load?
I might be wrong but...
from my observation its just not updating 3dview as often as when using mouse
to test this I forced refresh by playing animation and than drawing
the pen is behaving just as mouse
Hm, think I cannot repro here (got a Huion HS610 to test under linux)
regarding ring vs. actual painting: is painting with stroke spacing 1% smooth?
I use Yan video for base testing.
when spacing is at 1% the issue is barely noticeable
the thing is that when using pen stroke is "recorded" correctly, you just don't see it
to better visualize it set spacing to 40%
when painting with mouse you see every dot
when painting with pen the view update is dependent on how fast the stroke is, so if I am really slow the view is updated on release
if its not clear i can make a video
When setting the spacing to 1%, the lag is less noticable yes, but painting isn't the same, blending colors work differently and not as smoothly as with a 10% spacing (which is the default). Sadly not a great workaround.
To properly test it, you can keep every setting as the default, unwrap a default cube, and paint slowly, very slowly if you have to(I have to emphasize slowly, not rapid strokes or else you might miss the lagging of the strokes). Compare the mouse strokes (there will be no lag) with the tablet strokes (there should be lag).
If needed I can make another video demonstration, i've tried this on many different windows pcs, and a mac. Also tried with different huoin tablets, settings, and a xp-pen tablet (I don't have my hands on a Wacom tablet to try that, or linux)
@PrototypeNM1 there seems to be no cpu load difference between the mouse and tablet strokes, just tested it.
@kopias OH, very interesting. I just tried your method of playing animation as I paint, you are right there is less to no lag when the animation is playing at the same time, that is super weird?
Removed subscriber: @ChristophWerner
That really sounds like like the editor is not signalling that it need to be redrawn or that the data used to redraw is somehow outdated (old cache?). At this point I'm pretty confident that this isn't a Ghost-side problem.
Added subscriber: @JosephEagar
This may be the dreaded tablet event overload bug. My laptop's touch screen uses a Wacom chip and it doesn't do this, but I've heard reports of this happening to other people.
Not sure i understand what Ghost-side problem means, would the fix be client side, something I have to do?
Removing myself from being assigned to this bug as it's not likely my area of expertise.
@YanSculpts That was a note for other developers investigating this bug; no follow up needed on your side.
Tried texturing in the new blender candidates with a tablet, still lagging since 3.0, until today... This isn't assigned to any developer anymore, and it has been an issue since 3.0, should I create a new bug report?
Added subscriber: @Jeroen-Bakker
@YanSculpts Julien Kaspar asked me to look into this issue. Hopefully we are able to reproduce it on some hardware that we have here. This is essential to detect what is going on inside blender. No need to make a new report this one is still open.
I have tried to reproduce the issue on Windows (Wacom Intuos Pro) with latest drivers, but are not able to reproduce the lag.
I tried different input API's and different areas of Blender (2d painting, 3d texture painting, sculpt mode texture painting) but didn't detect any issues.
So we should start to figure out on which devices (model). I expect that high precision mouse input is buffering to many samples, before starting to draw. This could be steered by the device driver, OS, or GHOST layer (Blender OS abstraction layer).
@Jeroen-Bakker Thanks for looking into this!
I personally tried it on my Huion tablets (more than one), and XP PEN tablet. I also gave it a go with Mac, Windows 10 and windows 11 (2 different PC)
I couldn't try it on Wacom since I don't own one anymore.
To recap this bug is apparent only in blender 3.x, not previous versions, and only in texture painting (sculpt painting doesn't have this issue)
One more important thing is to very slowly paint with the tablet for the lag to be very apparent, the slower your strokes are the laggier it gets. If you paint fast you might miss it.
I would be happy to provide you with any information or video if needed.
the lag happens on my huion kamvas 13(Driver_15.6.3.132) in win10 and blender 3.4, and it seems that you don't even need a 3D model to test it. I managed to reproduce using only the image editor
I can confirm this, same here.
Added subscriber: @Sushi-IV
This comment was removed by @Sushi-IV
I'I have the same issue but not in all cases. Here my specs:
Blender version: 3.4.1
OS: Windows 11 (build: 22621.1105 (22H2))
Table: Wacom Intuos Pro S (driver: 6.4.1-3)
CPU: AMD Ryzen 9 5900X
RAM: 64 GB
GPU: Nvidia RTX4080 (driver: 528.24)
What I did until now:
Situation with a lot lags:
Situation with reduced lags:
Some things are still lagging:
I tried to explain step by step how I experienced the lags and what I already did to address the problem. I hope it helps.
Blender version: 3.6
OS: Windows 11 (build: 22621.1992 (22H2)
Table: Wacom Cintiq pro 24 (driver: 6.4.1-3)
CPU: 12th Gen Intel(R) Core(TM) i9-12900K 3.20 GHz
RAM: 64 GB
GPU: Nvidia RTX3080 (driver: 531.79)
Try texturing with a graphics tablet, and it will lag. It will not lag if texturing with a mouse.
I only use Blender as a tablet.
It's surprising that there is no texture lag with the mouse.
It's also surprising that the lower the Spacing value, the lower the delay.
Please support 3d texture painting.
Thanks for reporting this. This might be the infamous tablet bug that's been eluding us, so we might need your help in fixing it. My own tablet screen rarely does this which is why it's been hard to track down. I'll make a special build later for you that will log paint strokes.
Ok I've made a build here. Doodle around for 30-60 seconds and make sure you get the delay. It will write a file called
paint_log.txt
in the same folder as the blender executable.If you don't get the delay I'll make a new build and we'll try again. It's a very fiddly bug; the bug happened to me for about 10 seconds earlier today but then it stopped. This build is based off of 4.0, if the bug doesn't show up I can try 3.6.
@JosephEagar There isn't anything to download from my side, am I missing something? I added a screenshot.
P.S. Have you tried doing slow strokes Joseph? If you go fast you might not notice the lag, it becomes painfully obvious when you go slower.
P.S This lag is only in texture paint with a tablet, sculpt mode paint on the other hand has 0 lag.
I think I might have found a fix.
Here's the link to download a test build, it might take 45 minutes or so to show up:
https://builder.blender.org/download/patch/PR110119
Blender version: 3.6 & 4.0 PR110119
OS: Windows 11 (build: 22621.1992 (22H2)
Table: Wacom Cintiq pro 24 (driver: 6.4.1-3)
CPU: 12th Gen Intel(R) Core(TM) i9-12900K 3.20 GHz
RAM: 64 GB
GPU: Nvidia RTX3080 (driver: 531.79)
I tested it with a new patch.
The lag seems to be gone!
Attached is a video drawn with 3.6 and the new patch.
I tried the patched Blender as well, no more lag!
I am curious what was the issue? I have been reporting this bug for over a year I thought it was never going to be fixed..
Either way great job @JosephEagar , thanks for looking into this. Does this mean it will be patched in the official Blender soon?
The code had an old optimization to prevent double redraws. It actually was doing the stroke, just not displaying it. That made it difficult to debug; I only caught it when I was going through and adding all that debugging log code.
It's been committed now, hopefully it'll get backported to the 3.6 LTS too.
@JosephEagar to backport to 3.6 add the issue + commit in main to #109399
Modules themselves should add those changes to the backport list.
For anyone still encountering this issue, after some testing I have found out photoshop and blender seem to be incompatible.
If you have both softwares open at the same time blender will lag heavily so just turn off photoshop before sculpting in blender, other way around too.
That is a good catch. But I don't have Photoshop so it is hard for me to find out what is going incorrect. Seems that the driver is sharing some global state that both applications require to be different.
A solution what I am thinking of is to reset the driver state when Blender received focus again. But that won't work the other way around.
Can someone confirm the findings of @Alex-169 ?
#110119 is merged now and the delay is fixed for Yan as well. So can we close this? :)
Yup I can confirm it works on Blender 3.6 LTS, finally! Thanks for your contribution and for the fix @JosephEagar .
As for closing it, not sure how to do that from my side?
I'll close this then. About the issue mentioned above with Photoshop running at the same time: That can be reported as a separate bug. The issue from this bug is finally fixed 👍