Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

after comfyui 52aaee2 update,workflow loadimge became slower too much #503

Open
kerker93 opened this issue Jul 29, 2024 · 0 comments
Open

Comments

@kerker93
Copy link

Comfyui 52aaee2 update on 2024.07.02 chaged something about image input.Before this version,realtime is fast,after this version realtime is not real.
the update is like this:

_diff --git a/server.py b/server.py
index 30ea90c6c91c97a603af66b10419cfe65fa083bf..5b98620ad38010f3afb5bf70ab7d1df5242443f0 100644
--- a/server.py
+++ b/server.py
@@ -12,6 +12,7 @@ import json
import glob
import struct
import ssl
+import hashlib
from PIL import Image, ImageOps
from PIL.PngImagePlugin import PngInfo
from io import BytesIO
@@ -153,10 +154,24 @@ class PromptServer():
type_dir = folder_paths.get_output_directory()

         return type_dir, dir_type
  •    def compare_image_hash(filepath, image):
    
  •        # function to compare hashes of two images to see if it already exists, fix to #3465
    
  •        if os.path.exists(filepath):
    
  •            a = hashlib.sha256()
    
  •            b = hashlib.sha256()
    
  •            with open(filepath, "rb") as f:
    
  •                a.update(f.read())
    
  •                b.update(image.file.read())
    
  •                image.file.seek(0)
    
  •                f.close()
    
  •            return a.hexdigest() == b.hexdigest()
    
  •        return False
    
  •    def image_upload(post, image_save_function=None):
           image = post.get("image")
           overwrite = post.get("overwrite")
    
  •        image_is_duplicate = False
    
           image_upload_type = post.get("type")
           upload_dir, image_upload_type = get_dir_by_type(image_upload_type)
    

@@ -183,15 +198,19 @@ class PromptServer():
else:
i = 1
while os.path.exists(filepath):

  •                    if compare_image_hash(filepath, image): #compare hash to prevent saving of duplicates with same name, fix for #3465
    
  •                        image_is_duplicate = True
    
  •                        break
                       filename = f"{split[0]} ({i}){split[1]}"
                       filepath = os.path.join(full_output_folder, filename)
                       i += 1
    
  •            if image_save_function is not None:
    
  •                image_save_function(image, post, filepath)
    
  •            else:
    
  •                with open(filepath, "wb") as f:
    
  •                    f.write(image.file.read())
    
  •            if not image_is_duplicate: 
    
  •                if image_save_function is not None:
    
  •                    image_save_function(image, post, filepath)
    
  •                else:
    
  •                    with open(filepath, "wb") as f:
    
  •                        f.write(image.file.read())
    
               return web.json_response({"name" : filename, "subfolder": subfolder, "type": image_upload_type})
           else:_
    

If I delete these codes in comfyui/server.py, everything will be faster.But every update will overwrite server.py.So,somebody could tell why this happen ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant